On 7/2/25 06:33, Richard Henderson wrote:
For WHILE, we have the count of enabled predicates, so we don't
need to search to compute the PredTest result. Reuse the logic
that will shortly be required for counted predicates.
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
target/arm/tcg/sve_helper.c | 47 ++++++++++++++++++++++---------------
1 file changed, 28 insertions(+), 19 deletions(-)
Hmm.
@@ -4134,16 +4149,15 @@ uint32_t HELPER(sve_whileg)(void *vd, uint32_t count,
uint32_t pred_desc)
intptr_t esz = FIELD_EX32(pred_desc, PREDDESC, ESZ);
uint64_t esz_mask = pred_esz_masks[esz];
ARMPredicateReg *d = vd;
- intptr_t i, invcount, oprbits;
+ intptr_t i, invcount, oprbits = oprsz * 8;
uint64_t bits;
- if (count == 0) {
- return do_zero(d, oprsz);
- }
It's possible this breaks sve_whileg until it's fixed by patch 63.
r~