From 0a874bce72cff033004599c4a2dc061ea0782c7f Mon Sep 17 00:00:00 2001 From: iximeow Date: Mon, 3 Aug 2026 00:53:34 +0000 Subject: armv8 thumb-mode hints --- src/armv7/thumb.rs | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'src/armv7/thumb.rs') 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::Address, ::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::Address, ::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 -- cgit v1.1