]> git.ipfire.org Git - thirdparty/qemu.git/commit
tcg/s390x: fix constraint for 32-bit TSTEQ/TSTNE
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 17 Oct 2024 09:09:52 +0000 (11:09 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 17 Oct 2024 17:41:22 +0000 (19:41 +0200)
commit615586cb356811e46c2e5f85c36db4b93f8381cd
tree7b0b01a1fd0f716098c48098c019e49e035b0d62
parent45f519950d4f70d092b552661323ef3c851efdf7
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>
tcg/s390x/tcg-target.c.inc