aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2012-05-16 10:53:49 +0000
committerNick Clifton <nickc@redhat.com>2012-05-16 10:53:49 +0000
commit101af531fe53c0288cb04f40e2d5c62925edfe4b (patch)
treee17974866a20cfeee8fae7120d1bf887905adf93 /gas
parenta5244b7e43f790d781138a82c0f5a53ac23284c3 (diff)
downloadgdb-101af531fe53c0288cb04f40e2d5c62925edfe4b.zip
gdb-101af531fe53c0288cb04f40e2d5c62925edfe4b.tar.gz
gdb-101af531fe53c0288cb04f40e2d5c62925edfe4b.tar.bz2
* arm-dis.c (arm_opcodes): Don't disassemble STMFD/LDMIA sp!, {reg}
to PUSH/POP {reg}. * binutils-all/arm/objdump.exp: STMFD/LDMIA sp!, {reg} don't disassemble to PUSH/POP {reg} any longer. * gas/arm/stm-ldm.d: STMFD/LDMIA sp!, {reg} don't disassemble to PUSH/POP {reg} any longer. Some new test cases have been added as well. * gas/arm/stm-ldm.s: Likewise.
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/arm/stm-ldm.d41
-rw-r--r--gas/testsuite/gas/arm/stm-ldm.s32
3 files changed, 71 insertions, 8 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index fdf52be..e90da84 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2012-05-16 Meador Inge <meadori@codesourcery.com>
+
+ * gas/arm/stm-ldm.d: STMFD/LDMIA sp!, {reg} don't disassemble to
+ PUSH/POP {reg} any longer. Some new test cases have been added as well.
+ * gas/arm/stm-ldm.s: Likewise.
+
2012-05-15 James Murray <jsm@jsm-net.demon.co.uk>
* gas/m68hc11/insns9s12x.s: New
diff --git a/gas/testsuite/gas/arm/stm-ldm.d b/gas/testsuite/gas/arm/stm-ldm.d
index 564b8bc..3d940a5 100644
--- a/gas/testsuite/gas/arm/stm-ldm.d
+++ b/gas/testsuite/gas/arm/stm-ldm.d
@@ -1,14 +1,43 @@
#objdump: -dr --prefix-addresses --show-raw-insn
#name: STM and LDM
+#warning: writeback of base register when in register list is UNPREDICTABLE
# 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}
+0+000 <.*> e92d0001 stmfd sp!, {r0}
+0+004 <.*> e92d0002 stmfd sp!, {r1}
+0+008 <.*> e92d0004 stmfd sp!, {r2}
+0+00c <.*> e92d0008 stmfd sp!, {r3}
+0+010 <.*> e92d0010 stmfd sp!, {r4}
+0+014 <.*> e92d0020 stmfd sp!, {r5}
+0+018 <.*> e92d0040 stmfd sp!, {r6}
+0+01c <.*> e92d0080 stmfd sp!, {r7}
+0+020 <.*> e92d0100 stmfd sp!, {r8}
+0+024 <.*> e92d0200 stmfd sp!, {r9}
+0+028 <.*> e92d0400 stmfd sp!, {sl}
+0+02c <.*> e92d0800 stmfd sp!, {fp}
+0+030 <.*> e92d1000 stmfd sp!, {ip}
+0+034 <.*> e92d2000 stmfd sp!, {sp}
+0+038 <.*> e92d4000 stmfd sp!, {lr}
+0+03c <.*> e92d8000 stmfd sp!, {pc}
+0+040 <.*> e92d000e push {r1, r2, r3}
+0+044 <.*> e8bd000e pop {r1, r2, r3}
+0+048 <.*> e8bd0001 ldmfd sp!, {r0}
+0+04c <.*> e8bd0002 ldmfd sp!, {r1}
+0+050 <.*> e8bd0004 ldmfd sp!, {r2}
+0+054 <.*> e8bd0008 ldmfd sp!, {r3}
+0+058 <.*> e8bd0010 ldmfd sp!, {r4}
+0+05c <.*> e8bd0020 ldmfd sp!, {r5}
+0+060 <.*> e8bd0040 ldmfd sp!, {r6}
+0+064 <.*> e8bd0080 ldmfd sp!, {r7}
+0+068 <.*> e8bd0100 ldmfd sp!, {r8}
+0+06c <.*> e8bd0200 ldmfd sp!, {r9}
+0+070 <.*> e8bd0400 ldmfd sp!, {sl}
+0+074 <.*> e8bd0800 ldmfd sp!, {fp}
+0+078 <.*> e8bd1000 ldmfd sp!, {ip}
+0+07c <.*> e8bd2000 ldmfd sp!, {sp}
+0+080 <.*> e8bd4000 ldmfd sp!, {lr}
+0+084 <.*> e8bd8000 ldmfd sp!, {pc}
diff --git a/gas/testsuite/gas/arm/stm-ldm.s b/gas/testsuite/gas/arm/stm-ldm.s
index 77bbfbb..d35179d 100644
--- a/gas/testsuite/gas/arm/stm-ldm.s
+++ b/gas/testsuite/gas/arm/stm-ldm.s
@@ -1,8 +1,36 @@
.text
.syntax unified
stmfd sp!, {r0}
- stmfd sp!, {r1, r2, r3}
+ stmfd sp!, {r1}
+ stmfd sp!, {r2}
+ stmfd sp!, {r3}
+ stmfd sp!, {r4}
+ stmfd sp!, {r5}
+ stmfd sp!, {r6}
+ stmfd sp!, {r7}
+ stmfd sp!, {r8}
stmfd sp!, {r9}
- ldmia sp!, {r9}
+ stmfd sp!, {sl}
+ stmfd sp!, {fp}
+ stmfd sp!, {ip}
+ stmfd sp!, {sp}
+ stmfd sp!, {lr}
+ stmfd sp!, {pc}
+ stmfd sp!, {r1, r2, r3}
ldmia sp!, {r1, r2, r3}
ldmia sp!, {r0}
+ ldmia sp!, {r1}
+ ldmia sp!, {r2}
+ ldmia sp!, {r3}
+ ldmia sp!, {r4}
+ ldmia sp!, {r5}
+ ldmia sp!, {r6}
+ ldmia sp!, {r7}
+ ldmia sp!, {r8}
+ ldmia sp!, {r9}
+ ldmia sp!, {sl}
+ ldmia sp!, {fp}
+ ldmia sp!, {ip}
+ ldmia sp!, {sp}
+ ldmia sp!, {lr}
+ ldmia sp!, {pc}