s390x/tcg: Fix VECTOR MULTIPLY LOGICAL ODD
authorDavid Hildenbrand <david@redhat.com>
Mon, 21 Oct 2019 08:57:10 +0000 (10:57 +0200)
committerCornelia Huck <cohuck@redhat.com>
Mon, 21 Oct 2019 15:32:49 +0000 (17:32 +0200)
We have to read from odd offsets.

Fixes: 2bf3ee38f1f8 ("s390x/tcg: Implement VECTOR MULTIPLY *")
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20191021085715.3797-2-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
target/s390x/vec_int_helper.c

index 68eaae407b47206be10aeabd0171c78cc6802b4e..03ae8631d958a6deab44e8cf3cf1f4f5f7707f71 100644 (file)
@@ -488,7 +488,7 @@ void HELPER(gvec_vmlo##BITS)(void *v1, const void *v2, const void *v3,         \
 {                                                                              \
     int i, j;                                                                  \
                                                                                \
-    for (i = 0, j = 0; i < (128 / TBITS); i++, j += 2) {                       \
+    for (i = 0, j = 1; i < (128 / TBITS); i++, j += 2) {                       \
         const uint##TBITS##_t a = s390_vec_read_element##BITS(v2, j);          \
         const uint##TBITS##_t b = s390_vec_read_element##BITS(v3, j);          \
                                                                                \