qemu/tcg/s390x
Paolo Bonzini 615586cb35 tcg/s390x: fix constraint for 32-bit TSTEQ/TSTNE
32-bit TSTEQ and TSTNE is subject to the same constraints as
for 64-bit, but setcond_i32 and negsetcond_i32 were incorrectly
using TCG_CT_CONST ("i") instead of TCG_CT_CONST_CMP ("C").

Adjust the constraint and make tcg_target_const_match use the
same sequence as tgen_cmp2: first check if the constant is a
valid operand for TSTEQ/TSTNE, then accept everything for 32-bit
non-test comparisons, finally check if the constant is a valid
operand for 64-bit non-test comparisons.

Reported-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Cc: qemu-stable@nongnu.org

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-10-17 19:41:22 +02:00
..
tcg-target-con-set.h tcg/s390x: Optimize cmpsel with constant 0/-1 arguments 2024-09-22 06:54:50 +02:00
tcg-target-con-str.h tcg/s390x: Optimize cmpsel with constant 0/-1 arguments 2024-09-22 06:54:50 +02:00
tcg-target-reg-bits.h tcg: Split out tcg-target-reg-bits.h 2023-06-05 12:04:28 -07:00
tcg-target.c.inc tcg/s390x: fix constraint for 32-bit TSTEQ/TSTNE 2024-10-17 19:41:22 +02:00
tcg-target.h tcg/s390x: Implement cmpsel_vec 2024-09-22 06:54:50 +02:00
tcg-target.opc.h tcg/s390x: Implement TCG_TARGET_HAS_sat_vec 2021-10-05 16:53:17 -07:00