tcg/loongarch64: Set vector registers call clobbered
Because there are more call clobbered registers than
call saved registers, we begin with all registers as
call clobbered and then reset those that are saved.
This was missed when we introduced the LSX support.
Cc: qemu-stable@nongnu.org
Fixes: 16288ded94
("tcg/loongarch64: Lower basic tcg vec ops to LSX")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2136
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Song Gao <gaosong@loongson.cn>
Message-Id: <20240201233414.500588-1-richard.henderson@linaro.org>
This commit is contained in:
parent
da4038d2da
commit
45bf0e7aa6
@ -2327,7 +2327,7 @@ static void tcg_target_init(TCGContext *s)
|
||||
tcg_target_available_regs[TCG_TYPE_I32] = ALL_GENERAL_REGS;
|
||||
tcg_target_available_regs[TCG_TYPE_I64] = ALL_GENERAL_REGS;
|
||||
|
||||
tcg_target_call_clobber_regs = ALL_GENERAL_REGS;
|
||||
tcg_target_call_clobber_regs = ALL_GENERAL_REGS | ALL_VECTOR_REGS;
|
||||
tcg_regset_reset_reg(tcg_target_call_clobber_regs, TCG_REG_S0);
|
||||
tcg_regset_reset_reg(tcg_target_call_clobber_regs, TCG_REG_S1);
|
||||
tcg_regset_reset_reg(tcg_target_call_clobber_regs, TCG_REG_S2);
|
||||
|
Loading…
Reference in New Issue
Block a user