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