qemu/tcg
Paolo Bonzini 994f8717ee 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-10-18 17:42:11 +03:00
..
aarch64 tcg/aarch64: Support TCG_TARGET_HAS_tst_vec 2024-05-22 19:05:25 -07:00
arm tcg/arm: Support TCG_TARGET_HAS_tst_vec 2024-05-22 19:05:26 -07:00
i386 Revert "host/i386: assume presence of POPCNT" 2024-06-28 14:44:51 +02:00
loongarch64 tcg/loongarch64: Fix tcg_out_movi vs some pcrel pointers 2024-06-19 13:50:22 -07: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:38 +03:00
riscv util/cpuinfo-riscv: Support host/cpuinfo.h for riscv 2024-07-03 10:24:12 -07:00
s390x tcg/s390x: fix constraint for 32-bit TSTEQ/TSTNE 2024-10-18 17:42:11 +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 meson: Drop the .fa library suffix 2024-07-03 18:41:26 +02:00
optimize.c tcg/optimize: Fix TCG_COND_TST* simplification of setcond2 2024-07-03 10:24:12 -07: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:24 +03:00
tcg-op-ldst.c plugins: Use emit_before_op for PLUGIN_GEN_FROM_MEM 2024-04-30 16:12:05 -07:00
tcg-op-vec.c tcg: Expand TCG_COND_TST* if not TCG_TARGET_HAS_tst_vec 2024-05-22 19:05:25 -07:00
tcg-op.c tcg: Remove INDEX_op_plugin_cb_{start,end} 2024-04-30 16:12:05 -07:00
tcg-pool.c.inc tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
tcg.c plugins: Merge alloc_tcg_plugin_context into plugin_gen_tb_start 2024-05-15 08:55:18 +02:00
tci.c tcg: Make tcg/helper-info.h self-contained 2024-04-30 16:12:05 -07:00