target/s390x: Fix emulation of the VISTR instruction
authorThomas Huth <thuth@redhat.com>
Wed, 12 Oct 2022 18:27:54 +0000 (20:27 +0200)
committerThomas Huth <thuth@redhat.com>
Thu, 27 Oct 2022 07:09:50 +0000 (09:09 +0200)
The element size is encoded in the M3 field, not in the M4
field.

Fixes: be6324c6b734 ("s390x/tcg: Implement VECTOR ISOLATE STRING")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1248
Message-Id: <20221012182755.1014853-3-thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
target/s390x/tcg/translate_vx.c.inc

index 3526ba3e3b4bdf06e2490e917b4545eb3e0e431c..b69c1a111cad69cd7b1673ff6752c79ce68dfeeb 100644 (file)
@@ -2723,7 +2723,7 @@ static DisasJumpType op_vfene(DisasContext *s, DisasOps *o)
 
 static DisasJumpType op_vistr(DisasContext *s, DisasOps *o)
 {
-    const uint8_t es = get_field(s, m4);
+    const uint8_t es = get_field(s, m3);
     const uint8_t m5 = get_field(s, m5);
     static gen_helper_gvec_2 * const g[3] = {
         gen_helper_gvec_vistr8,