There was an inconsistency between encoding, which uses
SIMD_DATA_SHIFT, and decoding which used SIMD_OPRSZ_BITS.
This happened to be ok, until e2e7168a214, which reduced
the size of SIMD_OPRSZ_BITS, which lead to truncating all
predicate vector lengths.
Changes in v2:
* Introduce and use PREDDESC field definitions, rather
than abusing a different SIMD_* macro.
r~
Richard Henderson (4):
target/arm: Introduce PREDDESC field definitions
target/arm: Update PFIRST, PNEXT for pred_desc
target/arm: Update ZIP, UZP, TRN for pred_desc
target/arm: Update REV, PUNPK for pred_desc
target/arm/internals.h | 9 +++++++++
target/arm/sve_helper.c | 33 +++++++++++++++++----------------
target/arm/translate-sve.c | 31 +++++++++++--------------------
3 files changed, 37 insertions(+), 36 deletions(-)
--
2.25.1