OSDN Git Service

tcg/i386: Adjust assert in tcg_out_addi_ptr
authorRichard Henderson <richard.henderson@linaro.org>
Fri, 7 Apr 2023 19:00:22 +0000 (12:00 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Mon, 10 Apr 2023 15:29:24 +0000 (08:29 -0700)
We can arrive here on _WIN64 because Int128 is passed by reference.
Change the assert to check that the immediate is in range,
instead of attempting to check the host ABI.

Fixes: 6a6d772e30d ("tcg: Introduce tcg_out_addi_ptr")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1581
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
tcg/i386/tcg-target.c.inc

index 4444eb9..5a151fe 100644 (file)
@@ -1082,7 +1082,7 @@ static void tcg_out_addi_ptr(TCGContext *s, TCGReg rd, TCGReg rs,
                              tcg_target_long imm)
 {
     /* This function is only used for passing structs by reference. */
-    tcg_debug_assert(TCG_TARGET_REG_BITS == 32);
+    tcg_debug_assert(imm == (int32_t)imm);
     tcg_out_modrm_offset(s, OPC_LEA, rd, rs, imm);
 }