From a4c2dbef3eeeeb9678716f5c6c3ef30c4b165e03 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 23 Jul 2018 20:00:15 -0400 Subject: [PATCH] tcg/i386: Mark xmm registers call-clobbered When host vector registers and operations were introduced, I failed to mark the registers call clobbered as required by the ABI. Fixes: 770c2fc7bb7 Backports commit 672189cd586ea38a2c1d8ab91eb1f9dcff5ceb05 from qemu --- qemu/tcg/i386/tcg-target.inc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qemu/tcg/i386/tcg-target.inc.c b/qemu/tcg/i386/tcg-target.inc.c index 1b6fe7fa..e41459d3 100644 --- a/qemu/tcg/i386/tcg-target.inc.c +++ b/qemu/tcg/i386/tcg-target.inc.c @@ -3640,7 +3640,7 @@ static void tcg_target_init(TCGContext *s) s->tcg_target_available_regs[TCG_TYPE_V256] = ALL_VECTOR_REGS; } - s->tcg_target_call_clobber_regs = 0; + s->tcg_target_call_clobber_regs = ALL_VECTOR_REGS; tcg_regset_set_reg(s->tcg_target_call_clobber_regs, TCG_REG_EAX); tcg_regset_set_reg(s->tcg_target_call_clobber_regs, TCG_REG_EDX); tcg_regset_set_reg(s->tcg_target_call_clobber_regs, TCG_REG_ECX);