qemu-e2k/target/s390x/tcg
Ilya Leoshkevich 791b2b6a93 target/s390x: Fix the "ignored match" case in VSTRS
Currently the emulation of VSTRS recognizes partial matches in presence
of \0 in the haystack, which, according to PoP, is not correct:

    If the ZS flag is one and a zero byte was detected
    in the second operand, then there can not be a
    partial match ...

Add a check for this. While at it, fold a number of explicitly handled
special cases into the generic logic.

Cc: qemu-stable@nongnu.org
Reported-by: Claudio Fontana <cfontana@suse.de>
Closes: https://lists.gnu.org/archive/html/qemu-devel/2023-08/msg00633.html
Fixes: 1d706f3141 ("target/s390x: vxeh2: vector string search")
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20230804233748.218935-3-iii@linux.ibm.com>
Tested-by: Claudio Fontana <cfontana@suse.de>
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2023-08-23 12:06:52 +02:00
..
cc_helper.c
crypto_helper.c
excp_helper.c target/s390x: Move trans_exc_code update to do_program_interrupt 2023-07-31 12:19:13 -07:00
fpu_helper.c s390x: spelling fixes 2023-07-25 17:13:45 +03:00
insn-data.h.inc s390x: spelling fixes 2023-07-25 17:13:45 +03:00
insn-format.h.inc
int_helper.c
mem_helper.c target/s390x: Fix CLM with M3=0 2023-07-24 18:44:47 +02:00
meson.build
misc_helper.c
s390-tod.h
tcg_s390x.h
translate_vx.c.inc target/s390x: Use a 16-bit immediate in VREP 2023-08-23 12:06:44 +02:00
translate.c s390x: spelling fixes 2023-07-25 17:13:45 +03:00
vec_fpu_helper.c
vec_helper.c target/s390x: Fix VSTL with a large length 2023-08-23 12:06:44 +02:00
vec_int_helper.c
vec_string_helper.c target/s390x: Fix the "ignored match" case in VSTRS 2023-08-23 12:06:52 +02:00
vec.h