diff --git a/instructionAPI/src/InstructionDecoder-aarch64.C b/instructionAPI/src/InstructionDecoder-aarch64.C index c26824a60a..95e19d8dd3 100644 --- a/instructionAPI/src/InstructionDecoder-aarch64.C +++ b/instructionAPI/src/InstructionDecoder-aarch64.C @@ -2315,6 +2315,13 @@ Expression::Ptr InstructionDecoder_aarch64::makeMemRefExPair2(){ template void InstructionDecoder_aarch64::OPRsz() { _szField = field(insn); + + if(IS_INSN_SIMD_VEC_INDEX(insn)) { + int L = field<21, 21>(insn); + + if(_szField == 0x1 && (L == 0x1 || _Q == 0)) + isValid = false; + } } bool InstructionDecoder_aarch64::isSinglePrec() {