aboutsummaryrefslogtreecommitdiff
path: root/tests/armv7/thumb.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2026-08-02 19:23:45 +0000
committeriximeow <me@iximeow.net>2026-08-02 19:23:45 +0000
commitbc4ffbe7a8ffe1bfbf2e0785c561a339bfa25321 (patch)
tree4cf676b73152eb91d063860db0238b27c58ef5ec /tests/armv7/thumb.rs
parentb3144e7b36c460588154b9dda2f9e2de83b70e3a (diff)
Test Target, fix bogus MRS destinations
Diffstat (limited to 'tests/armv7/thumb.rs')
-rw-r--r--tests/armv7/thumb.rs37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/armv7/thumb.rs b/tests/armv7/thumb.rs
index 59dafaa..b1b9399 100644
--- a/tests/armv7/thumb.rs
+++ b/tests/armv7/thumb.rs
@@ -4573,6 +4573,43 @@ fn msr_mrs() {
}
#[test]
+fn test_target() {
+ // the v8 manuals list a new Test Target with some variants to it..
+ test_nonconforming(
+ &[0x44, 0xe8, 0x3f, 0xfc],
+ "tt ip, r4"
+ );
+ test_nonconforming(
+ &[0x44, 0xe8, 0x7f, 0xfc],
+ "ttt ip, r4"
+ );
+ test_nonconforming(
+ &[0x44, 0xe8, 0xbf, 0xfc],
+ "tta ip, r4"
+ );
+ test_nonconforming(
+ &[0x4d, 0xe8, 0xff, 0xf8],
+ "ttat r8, sp"
+ );
+ test_display(
+ &[0x44, 0xe8, 0x00, 0xfc],
+ "tt ip, r4"
+ );
+ test_display(
+ &[0x44, 0xe8, 0x40, 0xfc],
+ "ttt ip, r4"
+ );
+ test_display(
+ &[0x44, 0xe8, 0x80, 0xfc],
+ "tta ip, r4"
+ );
+ test_display(
+ &[0x4d, 0xe8, 0xc0, 0xf8],
+ "ttat r8, sp"
+ );
+}
+
+#[test]
fn test_decode_tbh_operand_shape() {
use yaxpeax_arm::armv7::{Opcode, Operand, RegShiftStyle, ShiftStyle};