aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2007-06-05 22:02:47 +0000
committerPaul Brook <paul@codesourcery.com>2007-06-05 22:02:47 +0000
commit79d4951621eec323a92ad518f474f7ccee143aa3 (patch)
tree21d6ecc0efc75138fe7a6e7c84577cff7e2d10de /gas/testsuite
parentfd20f75b0c15ed18549120f8b137e520726650ee (diff)
downloadgdb-79d4951621eec323a92ad518f474f7ccee143aa3.zip
gdb-79d4951621eec323a92ad518f474f7ccee143aa3.tar.gz
gdb-79d4951621eec323a92ad518f474f7ccee143aa3.tar.bz2
2007-06-05 Paul Brook <paul@codesourcery.com>
gas/ * config/tc-arm.c (insns): Correct Thumb-2 ldrd/strd opcodes. gas/testsuite/ * gas/arm/thumb32.d: Add writeback addressing mode tests. * gas/arm/thumb32.s: Update expected output. opcodes/ * arm-dis.c (thumb32_opcodes): Display writeback ldrd/strd addresses.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/arm/thumb32.d38
-rw-r--r--gas/testsuite/gas/arm/thumb32.s23
3 files changed, 66 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 4bd0290..d118298 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-06-05 Paul Brook <paul@codesourcery.com>
+
+ * gas/arm/thumb32.d: Add writeback addressing mode tests.
+ * gas/arm/thumb32.s: Update expected output.
+
2007-06-05 Nick Clifton <nickc@redhat.com>
PR gas/4587
diff --git a/gas/testsuite/gas/arm/thumb32.d b/gas/testsuite/gas/arm/thumb32.d
index ea68ec6..5bb76a5 100644
--- a/gas/testsuite/gas/arm/thumb32.d
+++ b/gas/testsuite/gas/arm/thumb32.d
@@ -963,3 +963,41 @@ Disassembly of section .text:
0[0-9a-f]+ <[^>]+> f3de 8f00 subs pc, lr, #0
0[0-9a-f]+ <[^>]+> f3de 8f04 subs pc, lr, #4
0[0-9a-f]+ <[^>]+> f3de 8fff subs pc, lr, #255
+0[0-9a-f]+ <[^>]+> e9f9 240c ldrd r2, r4, \[r9, #48\]!
+0[0-9a-f]+ <[^>]+> e979 240c ldrd r2, r4, \[r9, #-48\]!
+0[0-9a-f]+ <[^>]+> e9e9 240c strd r2, r4, \[r9, #48\]!
+0[0-9a-f]+ <[^>]+> e969 240c strd r2, r4, \[r9, #-48\]!
+0[0-9a-f]+ <[^>]+> e8f9 240c ldrd r2, r4, \[r9\], #48
+0[0-9a-f]+ <[^>]+> e879 240c ldrd r2, r4, \[r9\], #-48
+0[0-9a-f]+ <[^>]+> e8e9 240c strd r2, r4, \[r9\], #48
+0[0-9a-f]+ <[^>]+> e869 240c strd r2, r4, \[r9\], #-48
+0[0-9a-f]+ <[^>]+> f8d5 1301 ldr.w r1, \[r5, #769]
+0[0-9a-f]+ <[^>]+> f855 1f30 ldr.w r1, \[r5, #48]!
+0[0-9a-f]+ <[^>]+> f855 1d30 ldr.w r1, \[r5, #-48]!
+0[0-9a-f]+ <[^>]+> f855 1b30 ldr.w r1, \[r5\], #48
+0[0-9a-f]+ <[^>]+> f855 1930 ldr.w r1, \[r5\], #-48
+0[0-9a-f]+ <[^>]+> f855 1009 ldr.w r1, \[r5, r9\]
+0[0-9a-f]+ <[^>]+> f895 1301 ldrb.w r1, \[r5, #769]
+0[0-9a-f]+ <[^>]+> f815 1f30 ldrb.w r1, \[r5, #48]!
+0[0-9a-f]+ <[^>]+> f815 1d30 ldrb.w r1, \[r5, #-48]!
+0[0-9a-f]+ <[^>]+> f815 1b30 ldrb.w r1, \[r5\], #48
+0[0-9a-f]+ <[^>]+> f815 1930 ldrb.w r1, \[r5\], #-48
+0[0-9a-f]+ <[^>]+> f815 1009 ldrb.w r1, \[r5, r9\]
+0[0-9a-f]+ <[^>]+> f995 1301 ldrsb.w r1, \[r5, #769]
+0[0-9a-f]+ <[^>]+> f915 1f30 ldrsb.w r1, \[r5, #48]!
+0[0-9a-f]+ <[^>]+> f915 1d30 ldrsb.w r1, \[r5, #-48]!
+0[0-9a-f]+ <[^>]+> f915 1b30 ldrsb.w r1, \[r5\], #48
+0[0-9a-f]+ <[^>]+> f915 1930 ldrsb.w r1, \[r5\], #-48
+0[0-9a-f]+ <[^>]+> f915 1009 ldrsb.w r1, \[r5, r9\]
+0[0-9a-f]+ <[^>]+> f8b5 1301 ldrh.w r1, \[r5, #769]
+0[0-9a-f]+ <[^>]+> f835 1f30 ldrh.w r1, \[r5, #48]!
+0[0-9a-f]+ <[^>]+> f835 1d30 ldrh.w r1, \[r5, #-48]!
+0[0-9a-f]+ <[^>]+> f835 1b30 ldrh.w r1, \[r5\], #48
+0[0-9a-f]+ <[^>]+> f835 1930 ldrh.w r1, \[r5\], #-48
+0[0-9a-f]+ <[^>]+> f835 1009 ldrh.w r1, \[r5, r9\]
+0[0-9a-f]+ <[^>]+> f9b5 1301 ldrsh.w r1, \[r5, #769]
+0[0-9a-f]+ <[^>]+> f935 1f30 ldrsh.w r1, \[r5, #48]!
+0[0-9a-f]+ <[^>]+> f935 1d30 ldrsh.w r1, \[r5, #-48]!
+0[0-9a-f]+ <[^>]+> f935 1b30 ldrsh.w r1, \[r5\], #48
+0[0-9a-f]+ <[^>]+> f935 1930 ldrsh.w r1, \[r5\], #-48
+0[0-9a-f]+ <[^>]+> f935 1009 ldrsh.w r1, \[r5, r9\]
diff --git a/gas/testsuite/gas/arm/thumb32.s b/gas/testsuite/gas/arm/thumb32.s
index 7079ea6..4f602df 100644
--- a/gas/testsuite/gas/arm/thumb32.s
+++ b/gas/testsuite/gas/arm/thumb32.s
@@ -780,3 +780,26 @@ srs:
subs pc, lr, #0
subs pc, lr, #4
subs pc, lr, #255
+
+ ldrd r2, r4, [r9, #48]!
+ ldrd r2, r4, [r9, #-48]!
+ strd r2, r4, [r9, #48]!
+ strd r2, r4, [r9, #-48]!
+ ldrd r2, r4, [r9], #48
+ ldrd r2, r4, [r9], #-48
+ strd r2, r4, [r9], #48
+ strd r2, r4, [r9], #-48
+
+ .macro ldaddr op
+ ldr\op r1, [r5, #0x301]
+ ldr\op r1, [r5, #0x30]!
+ ldr\op r1, [r5, #-0x30]!
+ ldr\op r1, [r5], #0x30
+ ldr\op r1, [r5], #-0x30
+ ldr\op r1, [r5, r9]
+ .endm
+ ldaddr
+ ldaddr b
+ ldaddr sb
+ ldaddr h
+ ldaddr sh