diff options
| author | iximeow <me@iximeow.net> | 2026-08-03 00:53:34 +0000 |
|---|---|---|
| committer | iximeow <me@iximeow.net> | 2026-08-03 00:53:34 +0000 |
| commit | 0a874bce72cff033004599c4a2dc061ea0782c7f (patch) | |
| tree | 94d8c0bc3db5ebb49d9987a79e209821cd44e7ec /src/armv7/thumb.rs | |
| parent | 5f48fb91742f9e9977b499959861a8a40d4ec03c (diff) | |
armv8 thumb-mode hints
Diffstat (limited to 'src/armv7/thumb.rs')
| -rw-r--r-- | src/armv7/thumb.rs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/armv7/thumb.rs b/src/armv7/thumb.rs index cba18a4..d4bef7a 100644 --- a/src/armv7/thumb.rs +++ b/src/armv7/thumb.rs @@ -1797,6 +1797,39 @@ pub fn decode_into<T: Reader<<ARMv7 as Arch>::Address, <ARMv7 as Arch>::Word>>(d Operand::Nothing, ]; } + 0b00001101 => { + // `PACBTI T1` + // v8 + inst.opcode = Opcode::PACBTI; + inst.operands = [ + Operand::Nothing, + Operand::Nothing, + Operand::Nothing, + Operand::Nothing, + ]; + } + 0b00001111 => { + // `BTI T1` + // v8 + inst.opcode = Opcode::BTI; + inst.operands = [ + Operand::Nothing, + Operand::Nothing, + Operand::Nothing, + Operand::Nothing, + ]; + } + 0b00010000 => { + // `ESB T1` + // v8 + inst.opcode = Opcode::ESB; + inst.operands = [ + Operand::Nothing, + Operand::Nothing, + Operand::Nothing, + Operand::Nothing, + ]; + } 0b00010100 => { // `CSDB` (`A8-376`) // v6T2 @@ -1808,6 +1841,28 @@ pub fn decode_into<T: Reader<<ARMv7 as Arch>::Address, <ARMv7 as Arch>::Word>>(d Operand::Nothing, ]; } + 0b00011101 => { + // `PAC T1` + // v8 + inst.opcode = Opcode::PAC; + inst.operands = [ + Operand::Nothing, + Operand::Nothing, + Operand::Nothing, + Operand::Nothing, + ]; + } + 0b00101101 => { + // `AUT T1` + // v8 + inst.opcode = Opcode::AUT; + inst.operands = [ + Operand::Nothing, + Operand::Nothing, + Operand::Nothing, + Operand::Nothing, + ]; + } hint => { // from DDI0406 C.d (v7): // > Encodings with op1 set to 0b000 and a value of |
