[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 3/8] target/arm: Fix sve_punpk_p vs odd vector lengths
From: |
Richard Henderson |
Subject: |
[PATCH v4 3/8] target/arm: Fix sve_punpk_p vs odd vector lengths |
Date: |
Tue, 9 Mar 2021 07:53:00 -0800 |
Wrote too much with punpk1 with vl % 512 != 0.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reported-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/sve_helper.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c
index 2fb4b2c1ea..981895a17c 100644
--- a/target/arm/sve_helper.c
+++ b/target/arm/sve_helper.c
@@ -2105,11 +2105,11 @@ void HELPER(sve_punpk_p)(void *vd, void *vn, uint32_t
pred_desc)
high = oprsz >> 1;
}
- if ((high & 3) == 0) {
+ if ((oprsz & 7) == 0) {
uint32_t *n = vn;
high >>= 2;
- for (i = 0; i < DIV_ROUND_UP(oprsz, 8); i++) {
+ for (i = 0; i < oprsz / 8; i++) {
uint64_t nn = n[H4(high + i)];
d[i] = expand_bits(nn, 0);
}
--
2.25.1
- [PATCH v4 0/8] target/arm: sve1 fixes, Richard Henderson, 2021/03/09
- [PATCH v4 1/8] target/arm: Fix sve_uzp_p vs odd vector lengths, Richard Henderson, 2021/03/09
- [PATCH v4 2/8] target/arm: Fix sve_zip_p vs odd vector lengths, Richard Henderson, 2021/03/09
- [PATCH v4 3/8] target/arm: Fix sve_punpk_p vs odd vector lengths,
Richard Henderson <=
- [PATCH v4 4/8] target/arm: Update find_last_active for PREDDESC, Richard Henderson, 2021/03/09
- [PATCH v4 5/8] target/arm: Update BRKA, BRKB, BRKN for PREDDESC, Richard Henderson, 2021/03/09
- [PATCH v4 6/8] target/arm: Update CNTP for PREDDESC, Richard Henderson, 2021/03/09
- [PATCH v4 7/8] target/arm: Update WHILE for PREDDESC, Richard Henderson, 2021/03/09
- [PATCH v4 8/8] target/arm: Update sve reduction vs simd_desc, Richard Henderson, 2021/03/09
- Re: [PATCH v4 0/8] target/arm: sve1 fixes, Peter Maydell, 2021/03/11