From 485aaac0f82e6b5546ae392b6be626c4558cc26a Mon Sep 17 00:00:00 2001 From: Grond Date: Wed, 24 Jun 2026 18:58:33 -0700 Subject: Decode the correct number of operands for TST/TEQ (immediate/register) --- src/armv7.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/armv7.rs b/src/armv7.rs index f23d0c9..c2c232b 100644 --- a/src/armv7.rs +++ b/src/armv7.rs @@ -2606,6 +2606,7 @@ impl Decoder for InstDecoder { ]; } + Opcode::TST | Opcode::TEQ | Opcode::CMP | Opcode::CMN => { if self.should_is_must { if Rd != 0 { @@ -2731,6 +2732,8 @@ impl Decoder for InstDecoder { inst.opcode = Opcode::ADR; } match opcode { + // TST/TEQ (immediate) + 0b1000 | 0b1001 | // CMP/CMN (immediate) 0b1010 | 0b1011 => { // According to A8-368, there are 4 bits right above the immediate that -- cgit v1.1