tcg/i386: Adjust assert in tcg_out_addi_ptr

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: 6a6d772e30 ("tcg: Introduce tcg_out_addi_ptr")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1581
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2023-04-07 12:00:22 -07:00
parent 08dede0703
commit 7d9e1ee424

View File

@ -1082,7 +1082,7 @@ static void tcg_out_addi_ptr(TCGContext *s, TCGReg rd, TCGReg rs,
tcg_target_long imm) tcg_target_long imm)
{ {
/* This function is only used for passing structs by reference. */ /* 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); tcg_out_modrm_offset(s, OPC_LEA, rd, rs, imm);
} }