qemu/tcg
Paolo Bonzini b5f6122f67 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>
(cherry picked from commit 615586cb35)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2024-11-08 13:02:57 +03:00
..
aarch64 tcg/aarch64: Fix tcg_out_brcond for test comparisons 2024-03-12 04:09:21 -10:00
arm tcg/arm: Fix goto_tb for large translation blocks 2024-02-13 07:42:45 -10:00
i386 tcg/i386: Use TEST r,r to test 8/16/32 bits 2024-02-03 23:53:49 +00:00
loongarch64 tcg/loongarch64: Fix tcg_out_movi vs some pcrel pointers 2024-06-20 15:23:01 +03:00
mips tcg: Add TCGConst argument to tcg_target_const_match 2024-02-03 23:53:48 +00:00
ppc tcg/ppc: Use TCG_REG_TMP2 for scratch index in prepare_host_addr 2024-10-10 21:03:54 +03:00
riscv tcg: Add TCGConst argument to tcg_target_const_match 2024-02-03 23:53:48 +00:00
s390x tcg/s390x: fix constraint for 32-bit TSTEQ/TSTNE 2024-11-08 13:02:57 +03:00
sparc64 tcg/sparc64: Support TCG_COND_TST{EQ,NE} 2024-02-03 23:53:49 +00:00
tci tcg/tci: Support TCG_COND_TST{EQ,NE} 2024-02-05 22:45:41 +00:00
debuginfo.c accel/tcg: Move perf and debuginfo support to tcg/ 2024-01-29 21:04:10 +10:00
meson.build accel/tcg: Move perf and debuginfo support to tcg/ 2024-01-29 21:04:10 +10:00
optimize.c tcg/optimize: Fix TCG_COND_TST* simplification of setcond2 2024-07-04 08:01:15 +03:00
perf.c accel/tcg: Move perf and debuginfo support to tcg/ 2024-01-29 21:04:10 +10:00
region.c tcg: Make the cleanup-on-error path unique 2024-01-23 13:22:46 +10:00
tcg-common.c tcg: Silent -Wmissing-field-initializers warning 2023-02-27 22:29:01 +01:00
tcg-internal.h tcg/optimize: Lower TCG_COND_TST{EQ,NE} if unsupported 2024-02-03 23:43:50 +00:00
tcg-ldst.c.inc tcg: Move TCGLabelQemuLdst to tcg.c 2023-05-05 17:21:03 +01:00
tcg-op-gvec.c tcg: Fix iteration step in 32-bit gvec operation 2024-09-28 07:24:27 +03:00
tcg-op-ldst.c tcg: Reduce serial context atomicity earlier 2023-12-12 13:35:19 -08:00
tcg-op-vec.c tcg: Remove vecop_list check from tcg_gen_not_vec 2023-08-29 09:57:39 -07:00
tcg-op.c tcg: Canonicalize subi to addi during opcode generation 2023-11-06 10:43:04 -08:00
tcg-pool.c.inc tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
tcg.c tcg: Add TCGContext.emit_before_op 2024-04-09 07:45:01 -10:00
tci.c tcg/tci: Support TCG_COND_TST{EQ,NE} 2024-02-05 22:45:41 +00:00