]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
tcg/i386: Mark xmm registers call-clobbered
authorRichard Henderson <richard.henderson@linaro.org>
Sun, 22 Jul 2018 22:28:02 +0000 (15:28 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Mon, 23 Jul 2018 16:21:14 +0000 (09:21 -0700)
When host vector registers and operations were introduced, I failed
to mark the registers call clobbered as required by the ABI.

Fixes: 770c2fc7bb7
Cc: qemu-stable@nongnu.org
Reported-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
tcg/i386/tcg-target.inc.c

index e87b0d445e5a333ec0a4c235bf6ba0785ef4fa63..a91e4f131305e6bef662b73219e596bced2171c1 100644 (file)
@@ -3532,7 +3532,7 @@ static void tcg_target_init(TCGContext *s)
         tcg_target_available_regs[TCG_TYPE_V256] = ALL_VECTOR_REGS;
     }
 
-    tcg_target_call_clobber_regs = 0;
+    tcg_target_call_clobber_regs = ALL_VECTOR_REGS;
     tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EAX);
     tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EDX);
     tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_ECX);