diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/armv8/a64.rs | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/src/armv8/a64.rs b/src/armv8/a64.rs index eb709d0..c0d61e6 100644 --- a/src/armv8/a64.rs +++ b/src/armv8/a64.rs @@ -7421,7 +7421,7 @@ impl Decoder<ARMv8> for InstDecoder {                                              return Err(DecodeError::InvalidOpcode);                                          } -                                        if opcode >= 0b001000 && Rn != 0b11111 { +                                        if opcode >= 0b100000 {                                              return Err(DecodeError::InvalidOperand);                                          } @@ -7449,6 +7449,9 @@ impl Decoder<ARMv8> for InstDecoder {                                              if opcode < 0b001000 {                                                  Operand::RegisterOrSP(SizeCode::X, Rn)                                              } else { +                                                if Rn != 0b11111 { +                                                    return Err(DecodeError::InvalidOpcode); +                                                }                                                  Operand::Nothing                                              },                                              Operand::Nothing, | 
