]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
target/arm: Clear tail in gvec_fmul_idx_*, gvec_fmla_idx_*
authorRichard Henderson <richard.henderson@linaro.org>
Wed, 13 May 2020 16:32:43 +0000 (09:32 -0700)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Mon, 24 Aug 2020 23:55:37 +0000 (18:55 -0500)
Must clear the tail for AdvSIMD when SVE is enabled.

Fixes: ca40a6e6e39
Cc: qemu-stable@nongnu.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200513163245.17915-15-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 525d9b6d42844e187211d25b69be8b378785bc24)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
target/arm/vec_helper.c

index 8017bd88c4c836e1e073eacee29415263f8bf392..5ce111b286b309647ff209c090edebac06acbfbc 100644 (file)
@@ -737,6 +737,7 @@ void HELPER(NAME)(void *vd, void *vn, void *vm, void *stat, uint32_t desc) \
             d[i + j] = TYPE##_mul(n[i + j], mm, stat);                     \
         }                                                                  \
     }                                                                      \
+    clear_tail(d, oprsz, simd_maxsz(desc));                                \
 }
 
 DO_MUL_IDX(gvec_fmul_idx_h, float16, H2)
@@ -761,6 +762,7 @@ void HELPER(NAME)(void *vd, void *vn, void *vm, void *va,                  \
                                      mm, a[i + j], 0, stat);               \
         }                                                                  \
     }                                                                      \
+    clear_tail(d, oprsz, simd_maxsz(desc));                                \
 }
 
 DO_FMLA_IDX(gvec_fmla_idx_h, float16, H2)