aboutsummaryrefslogtreecommitdiff
path: root/test/transform-dis-cases-arm64.S
diff options
context:
space:
mode:
Diffstat (limited to 'test/transform-dis-cases-arm64.S')
-rw-r--r--test/transform-dis-cases-arm64.S35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/transform-dis-cases-arm64.S b/test/transform-dis-cases-arm64.S
new file mode 100644
index 0000000..cc3bd4c
--- /dev/null
+++ b/test/transform-dis-cases-arm64.S
@@ -0,0 +1,35 @@
+#define GIVEN .ascii "GIVEN";
+#define EXPECT .ascii "EXPECT";
+#define EXPECT_ERR .ascii "EXPECT_ERR";
+
+/* yay clang, no semicolons allowed */
+
+GIVEN
+ blr x5
+EXPECT
+ blr x5
+
+GIVEN
+ blr x5
+ nop
+EXPECT_ERR
+
+GIVEN
+ cbnz x8, .+0x100
+EXPECT
+ cbz x8, 1f
+ mov x18, #0x0100
+ movk x18, #0xdead, lsl #16
+ br x18
+ 1:
+
+GIVEN
+ 0: mov x18, #0x123
+ cbnz x18, 0b+0x100
+EXPECT
+ mov x18, #0x123
+ cbz x18, 1f
+ mov x17, #0x0100
+ movk x17, #0xdead, lsl #16
+ br x17
+ 1: