aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/testsuite/gas/arm/push-pop.d14
-rw-r--r--gas/testsuite/gas/arm/push-pop.s8
-rw-r--r--gas/testsuite/gas/arm/stm-ldm.d14
-rw-r--r--gas/testsuite/gas/arm/stm-ldm.s8
4 files changed, 44 insertions, 0 deletions
diff --git a/gas/testsuite/gas/arm/push-pop.d b/gas/testsuite/gas/arm/push-pop.d
new file mode 100644
index 0000000..6eabbfa
--- /dev/null
+++ b/gas/testsuite/gas/arm/push-pop.d
@@ -0,0 +1,14 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: PUSH and POP
+
+# Test the `PUSH' and `POP' instructions
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+0+000 <.*> e52d0004 push {r0} ; \(str r0, \[sp, #-4\]!\)
+0+004 <.*> e92d000e push {r1, r2, r3}
+0+008 <.*> e52d9004 push {r9} ; \(str r9, \[sp, #-4\]!\)
+0+00c <.*> e49d9004 pop {r9} ; \(ldr r9, \[sp\], #4\)
+0+010 <.*> e8bd000e pop {r1, r2, r3}
+0+014 <.*> e49d0004 pop {r0} ; \(ldr r0, \[sp\], #4\)
diff --git a/gas/testsuite/gas/arm/push-pop.s b/gas/testsuite/gas/arm/push-pop.s
new file mode 100644
index 0000000..d86ec9e
--- /dev/null
+++ b/gas/testsuite/gas/arm/push-pop.s
@@ -0,0 +1,8 @@
+ .text
+ .syntax unified
+ push {r0}
+ push {r1, r2, r3}
+ push {r9}
+ pop {r9}
+ pop {r1, r2, r3}
+ pop {r0}
diff --git a/gas/testsuite/gas/arm/stm-ldm.d b/gas/testsuite/gas/arm/stm-ldm.d
new file mode 100644
index 0000000..564b8bc
--- /dev/null
+++ b/gas/testsuite/gas/arm/stm-ldm.d
@@ -0,0 +1,14 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: STM and LDM
+
+# Test the `STM*' and `LDM*' instructions
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+0+000 <.*> e92d0001 push {r0}
+0+004 <.*> e92d000e push {r1, r2, r3}
+0+008 <.*> e92d0200 push {r9}
+0+00c <.*> e8bd0200 pop {r9}
+0+010 <.*> e8bd000e pop {r1, r2, r3}
+0+014 <.*> e8bd0001 pop {r0}
diff --git a/gas/testsuite/gas/arm/stm-ldm.s b/gas/testsuite/gas/arm/stm-ldm.s
new file mode 100644
index 0000000..77bbfbb
--- /dev/null
+++ b/gas/testsuite/gas/arm/stm-ldm.s
@@ -0,0 +1,8 @@
+ .text
+ .syntax unified
+ stmfd sp!, {r0}
+ stmfd sp!, {r1, r2, r3}
+ stmfd sp!, {r9}
+ ldmia sp!, {r9}
+ ldmia sp!, {r1, r2, r3}
+ ldmia sp!, {r0}