diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2020-05-13 09:32:43 -0700 |
---|---|---|
committer | Michael Roth <mdroth@linux.vnet.ibm.com> | 2020-08-24 18:55:37 -0500 |
commit | 352259fef83f689b8a8c436a24093e6ede167288 (patch) | |
tree | ad3f2dc58aa29a501281672a24381e9ca6015ea3 | |
parent | 9e6e3ba30984267be4721022f579fb168d43c8a4 (diff) | |
download | qemu-352259fef83f689b8a8c436a24093e6ede167288.zip qemu-352259fef83f689b8a8c436a24093e6ede167288.tar.gz qemu-352259fef83f689b8a8c436a24093e6ede167288.tar.bz2 |
target/arm: Clear tail in gvec_fmul_idx_*, gvec_fmla_idx_*
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>
-rw-r--r-- | target/arm/vec_helper.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/target/arm/vec_helper.c b/target/arm/vec_helper.c index 8017bd8..5ce111b 100644 --- a/target/arm/vec_helper.c +++ b/target/arm/vec_helper.c @@ -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) |