aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-11-25 00:21:40 +0000
committerNick Clifton <nickc@redhat.com>2000-11-25 00:21:40 +0000
commit077b8428ab2abe6e4c66216151c518c03467323c (patch)
tree4d9e07f38a2e3b8ad7561574fdf3241d484b910d /gas/testsuite
parent49425d281cfc2c9d4b61bc7db78f398950e9dca9 (diff)
downloadgdb-077b8428ab2abe6e4c66216151c518c03467323c.zip
gdb-077b8428ab2abe6e4c66216151c518c03467323c.tar.gz
gdb-077b8428ab2abe6e4c66216151c518c03467323c.tar.bz2
Add ARM v5t, v5te and XScale support
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog8
-rw-r--r--gas/testsuite/gas/arm/arm.exp4
-rw-r--r--gas/testsuite/gas/arm/xscale.d38
-rw-r--r--gas/testsuite/gas/arm/xscale.s40
4 files changed, 89 insertions, 1 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 729b1f3..e5527d5 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2000-11-24 Nick Clifton <nickc@redhat.com>
+
+ * arm.exp: Run tests for xscale as well as arm.
+ Run xscale tests.
+
+ * xscale.s: New file: XScale instruction tests.
+ * xscale.d: New file: Expected XScale instruction results.
+
2000-11-20 H.J. Lu <hjl@gnu.org>
* gas/i386/intel.d: Add 3 "nop"s for the a.out assembler.
diff --git a/gas/testsuite/gas/arm/arm.exp b/gas/testsuite/gas/arm/arm.exp
index d658eeb..1383306 100644
--- a/gas/testsuite/gas/arm/arm.exp
+++ b/gas/testsuite/gas/arm/arm.exp
@@ -1,7 +1,7 @@
#
# Some ARM tests
#
-if [istarget *arm*-*-*] then {
+if {[istarget *arm*-*-*] || [istarget "xscale-*-*"]} then {
run_dump_test "inst"
gas_test "arm3.s" "" $stdoptlist "Arm 3 instructions"
@@ -21,6 +21,8 @@ if [istarget *arm*-*-*] then {
gas_test "immed.s" "" $stdoptlist "immediate expressions"
gas_test "float.s" "" $stdoptlist "Core floating point instructions"
+
+ run_dump_test "xscale"
}
# Not all arm targets are bi-endian, so only run this test on ones
diff --git a/gas/testsuite/gas/arm/xscale.d b/gas/testsuite/gas/arm/xscale.d
new file mode 100644
index 0000000..38eb1ee
--- /dev/null
+++ b/gas/testsuite/gas/arm/xscale.d
@@ -0,0 +1,38 @@
+#objdump: -dr --prefix-addresses --show-raw-insn
+#name: XScale instructions
+#as: -mxscale -EL
+
+# Test the XScale instructions:
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+00000000 <foo> ee201010 mia acc0, r0, r1
+00000004 <[^>]*> be20d01e mialt acc0, lr, sp
+00000008 <[^>]*> ee284012 miaph acc0, r2, r4
+0000000c <[^>]*> 1e286015 miaphne acc0, r5, r6
+00000010 <[^>]*> ee2c8017 miaBB acc0, r7, r8
+00000014 <[^>]*> ee2da019 miaBT acc0, r9, sl
+00000018 <[^>]*> ee2eb01c miaTB acc0, ip, fp
+0000001c <[^>]*> ee2f0010 miaTT acc0, r0, r0
+00000020 <[^>]*> ec411000 mar acc0, r1, r1
+00000024 <[^>]*> cc4c2000 margt acc0, r2, ip
+00000028 <[^>]*> ec543000 mra r3, r4, acc0
+0000002c <[^>]*> ec585000 mra r5, r8, acc0
+00000030 <[^>]*> f5d0f000 pld \[r0\]
+00000034 <[^>]*> f5d1f789 pld \[r1, #1929\]
+00000038 <[^>]*> f7d2f003 pld \[r2, r3\]
+0000003c <[^>]*> f754f285 pld \[r4, -r5, lsl #5\]
+00000040 <[^>]*> f456f456 pld \[r6\], -#1110
+00000044 <[^>]*> f6d7f008 pld \[r7\], r8
+00000048 <[^>]*> f659f06a pld \[r9\], -sl, rrx
+0000004c <[^>]*> e1c100d0 ldrd r0, \[r1\]
+00000050 <[^>]*> 01c327d8 ldreqd r2, \[r3, #120\]
+00000054 <[^>]*> b10540d6 ldrltd r4, \[r5, -r6\]
+00000058 <[^>]*> e16a88f9 strd r8, \[sl, -#137\]!
+0000005c <[^>]*> e1ac00fd strd r0, \[ip, sp\]!
+00000060 <[^>]*> 30ce21f0 strccd r2, \[lr\], #16
+00000064 <[^>]*> 708640f8 strvcd r4, \[r6\], r8
+00000068 <[^>]*> e5910000 ldr r0, \[r1\]
+0000006c <[^>]*> e5832000 str r2, \[r3\]
+00000070 <[^>]*> e321f011 msr CPSR_c, #17 ; 0x11
diff --git a/gas/testsuite/gas/arm/xscale.s b/gas/testsuite/gas/arm/xscale.s
new file mode 100644
index 0000000..0ca3999
--- /dev/null
+++ b/gas/testsuite/gas/arm/xscale.s
@@ -0,0 +1,40 @@
+ .text
+ .global foo
+foo:
+ mia acc0, r0, r1
+ mialt acc0, r14, r13
+
+ miaph acc0, r2, r4
+ miaphne acc0, r5, r6
+
+ miaBB acc0, r7, r8
+ miaBT acc0, r9, r10
+ miaTB acc0, r12, r11
+ miaTT acc0, r0, r0
+
+ mar acc0, r1, r1
+ margt acc0, r2, r12
+
+ mra r3, r4, acc0
+ mra r5, r8, acc0
+
+ pld [r0]
+ pld [r1, #0x789]
+ pld [r2, r3]
+ pld [r4, -r5, lsl #5]
+ pld [r6], #-0x456
+ pld [r7], +r8
+ pld [r9], -r10, RRX
+
+ ldrd r0, [r1]
+ ldreqd r2, [r3, #0x78]
+ ldrltd r4, [r5, -r6]
+ strd r8, [r10,#-0x89]!
+ strald r0, [r12, +r13]!
+ strlod r2, [r14], #+0x010
+ strvcd r4, [r6], r8
+
+ ldr r0, [r1]
+ str r2, [r3]
+
+ msr cpsr_ctl, #0x11