mirror of
https://github.com/qemu/qemu.git
synced 2024-12-05 09:43:44 +08:00
tcg/i386: Mark Win64 call-saved vector regs as reserved
While we do not include these in tcg_target_reg_alloc_order, and therefore they ought never be allocated, it seems safer to mark them reserved as well. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
5d133dd839
commit
6b258e74aa
@ -4218,6 +4218,19 @@ static void tcg_target_init(TCGContext *s)
|
|||||||
|
|
||||||
s->reserved_regs = 0;
|
s->reserved_regs = 0;
|
||||||
tcg_regset_set_reg(s->reserved_regs, TCG_REG_CALL_STACK);
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_CALL_STACK);
|
||||||
|
#ifdef _WIN64
|
||||||
|
/* These are call saved, and we don't save them, so don't use them. */
|
||||||
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_XMM6);
|
||||||
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_XMM7);
|
||||||
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_XMM8);
|
||||||
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_XMM9);
|
||||||
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_XMM10);
|
||||||
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_XMM11);
|
||||||
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_XMM12);
|
||||||
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_XMM13);
|
||||||
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_XMM14);
|
||||||
|
tcg_regset_set_reg(s->reserved_regs, TCG_REG_XMM15);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user