summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2003-12-10 12:50:26 +0000
committerPaul Brook <paul@codesourcery.com>2003-12-10 12:50:26 +0000
commit33133f97d71d5d146019a45b8df378e7c4f23d35 (patch)
treea2d65436b4be09f7d2ea50988cd7ff4bee77aa25
parent2d2bfa7162f94a5bc4ac9a77ba17f5d4e087dd06 (diff)
downloadbinutils-redhat-33133f97d71d5d146019a45b8df378e7c4f23d35.tar.gz
* gas/arm/arm.exp: Add r15-bad.
* gas/arm/r15-bad.s: New file. * gas/arm/r15-bad.l: New file.
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/arm/arm.exp2
-rw-r--r--gas/testsuite/gas/arm/r15-bad.l64
-rw-r--r--gas/testsuite/gas/arm/r15-bad.s68
4 files changed, 140 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 41ee31b2da..b8cfb69603 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2003-12-10 Paul Brook <paul@codesourcery.com>
+
+ * gas/arm/arm.exp: Add r15-bad.
+ * gas/arm/r15-bad.s: New file.
+ * gas/arm/r15-bad.l: New file.
+
2003-12-06 Richard Sandiford <rsandifo@redhat.com>
* gas/mips/elf-rel16.[sd]: New test.
diff --git a/gas/testsuite/gas/arm/arm.exp b/gas/testsuite/gas/arm/arm.exp
index 05c4f70278..80f9c92e28 100644
--- a/gas/testsuite/gas/arm/arm.exp
+++ b/gas/testsuite/gas/arm/arm.exp
@@ -70,6 +70,8 @@ if {[istarget *arm*-*-*] || [istarget "xscale-*-*"]} then {
run_dump_test "thumbv6"
+ run_errors_test "r15-bad" "" "Invalid use of r15 errors"
+
if {[istarget *-*-elf*] || [istarget *-*-linux*]} then {
run_dump_test "pic"
diff --git a/gas/testsuite/gas/arm/r15-bad.l b/gas/testsuite/gas/arm/r15-bad.l
new file mode 100644
index 0000000000..b0c370fdc8
--- /dev/null
+++ b/gas/testsuite/gas/arm/r15-bad.l
@@ -0,0 +1,64 @@
+[^:]*: Assembler messages:
+[^:]*:5: Error: r15 not allowed here -- `mul r15,r1'
+[^:]*:6: Error: r15 not allowed here -- `mul r1,r15'
+[^:]*:7: Error: r15 not allowed here -- `mla r15,r2,r3,r4'
+[^:]*:8: Error: r15 not allowed here -- `mla r1,r15,r3,r4'
+[^:]*:9: Error: r15 not allowed here -- `mla r1,r2,r15,r4'
+[^:]*:10: Error: r15 not allowed here -- `mla r1,r2,r3,r15'
+[^:]*:11: Error: r15 not allowed here -- `smlabb r15,r2,r3,r4'
+[^:]*:12: Error: r15 not allowed here -- `smlabb r1,r15,r3,r4'
+[^:]*:13: Error: r15 not allowed here -- `smlabb r1,r2,r15,r4'
+[^:]*:14: Error: r15 not allowed here -- `smlabb r1,r2,r3,r15'
+[^:]*:15: Error: r15 not allowed here -- `smlalbb r15,r2,r3,r4'
+[^:]*:16: Error: r15 not allowed here -- `smlalbb r1,r15,r3,r4'
+[^:]*:17: Error: r15 not allowed here -- `smlalbb r1,r2,r15,r4'
+[^:]*:18: Error: r15 not allowed here -- `smlalbb r1,r2,r3,r15'
+[^:]*:19: Error: r15 not allowed here -- `smulbb r15,r2,r3'
+[^:]*:20: Error: r15 not allowed here -- `smulbb r1,r15,r3'
+[^:]*:21: Error: r15 not allowed here -- `smulbb r1,r2,r15'
+[^:]*:22: Error: r15 not allowed here -- `qadd r15,r2,r3'
+[^:]*:23: Error: r15 not allowed here -- `qadd r1,r15,r3'
+[^:]*:24: Error: r15 not allowed here -- `qadd r1,r2,r15'
+[^:]*:25: Error: r15 not allowed here -- `qadd16 r15,r2,r3'
+[^:]*:26: Error: r15 not allowed here -- `qadd16 r1,r15,r3'
+[^:]*:27: Error: r15 not allowed here -- `qadd16 r1,r2,r15'
+[^:]*:28: Error: r15 not allowed here -- `clz r15,r2'
+[^:]*:29: Error: r15 not allowed here -- `clz r1,r15'
+[^:]*:30: Error: r15 not allowed here -- `umaal r15,r2,r3,r4'
+[^:]*:31: Error: r15 not allowed here -- `umaal r1,r15,r3,r4'
+[^:]*:32: Error: r15 not allowed here -- `umaal r1,r2,r15,r4'
+[^:]*:33: Error: r15 not allowed here -- `umaal r1,r2,r3,r15'
+[^:]*:34: Error: r15 not allowed here -- `strex r15,r2,[[]r3[]]'
+[^:]*:35: Error: r15 not allowed here -- `strex r1,r15,[[]r3[]]'
+[^:]*:36: Error: r15 not allowed here -- `strex r1,r2,[[]r15[]]'
+[^:]*:37: Error: r15 not allowed here -- `ssat r15,#1,r2'
+[^:]*:38: Error: r15 not allowed here -- `ssat r1,#1,r15'
+[^:]*:39: Error: r15 not allowed here -- `ssat16 r15,#1,r2'
+[^:]*:40: Error: r15 not allowed here -- `ssat16 r1,#1,r15'
+[^:]*:41: Error: r15 not allowed here -- `smmul r15,r2,r3'
+[^:]*:42: Error: r15 not allowed here -- `smmul r1,r15,r3'
+[^:]*:43: Error: r15 not allowed here -- `smmul r1,r2,r15'
+[^:]*:44: Error: r15 not allowed here -- `smlald r15,r2,r3,r4'
+[^:]*:45: Error: r15 not allowed here -- `smlald r1,r15,r3,r4'
+[^:]*:46: Error: r15 not allowed here -- `smlald r1,r2,r15,r4'
+[^:]*:47: Error: r15 not allowed here -- `smlald r1,r2,r3,r15'
+[^:]*:48: Error: r15 not allowed here -- `smlad r15,r2,r3,r4'
+[^:]*:49: Error: r15 not allowed here -- `smlad r1,r15,r3,r4'
+[^:]*:50: Error: r15 not allowed here -- `smlad r1,r2,r15,r4'
+[^:]*:51: Error: r15 not allowed here -- `smlad r1,r2,r3,r15'
+[^:]*:52: Error: r15 not allowed here -- `sxth r15,r2'
+[^:]*:53: Error: r15 not allowed here -- `sxth r1,r15'
+[^:]*:54: Error: r15 not allowed here -- `sxtah r15,r2,r3'
+[^:]*:55: Error: r15 not allowed here -- `sxtah r1,r15,r3'
+[^:]*:56: Error: r15 not allowed here -- `sxtah r1,r2,r15'
+[^:]*:57: Error: r15 not allowed here -- `rfeda r15'
+[^:]*:58: Error: r15 not allowed here -- `rev r15,r2'
+[^:]*:59: Error: r15 not allowed here -- `rev r1,r15'
+[^:]*:60: Error: r15 not allowed here -- `pkhtb r15,r2,r3'
+[^:]*:61: Error: r15 not allowed here -- `pkhtb r1,r15,r3'
+[^:]*:62: Error: r15 not allowed here -- `pkhtb r1,r2,r15'
+[^:]*:63: Error: r15 not allowed here -- `ldrex r15,[[]r2[]]'
+[^:]*:64: Error: r15 not allowed here -- `ldrex r1,[[]r15[]]'
+[^:]*:65: Error: r15 not allowed in swap -- `swp r15,r2,[[]r3[]]'
+[^:]*:66: Error: r15 not allowed in swap -- `swp r1,r15,[[]r3[]]'
+[^:]*:67: Error: r15 not allowed here -- `swp r1,r2,[[]r15[]]'
diff --git a/gas/testsuite/gas/arm/r15-bad.s b/gas/testsuite/gas/arm/r15-bad.s
new file mode 100644
index 0000000000..5c91e727db
--- /dev/null
+++ b/gas/testsuite/gas/arm/r15-bad.s
@@ -0,0 +1,68 @@
+.text
+.align 0
+
+label:
+ mul r15, r1
+ mul r1, r15
+ mla r15, r2, r3, r4
+ mla r1, r15, r3, r4
+ mla r1, r2, r15, r4
+ mla r1, r2, r3, r15
+ smlabb r15, r2, r3, r4
+ smlabb r1, r15, r3, r4
+ smlabb r1, r2, r15, r4
+ smlabb r1, r2, r3, r15
+ smlalbb r15, r2, r3, r4
+ smlalbb r1, r15, r3, r4
+ smlalbb r1, r2, r15, r4
+ smlalbb r1, r2, r3, r15
+ smulbb r15, r2, r3
+ smulbb r1, r15, r3
+ smulbb r1, r2, r15
+ qadd r15, r2, r3
+ qadd r1, r15, r3
+ qadd r1, r2, r15
+ qadd16 r15, r2, r3
+ qadd16 r1, r15, r3
+ qadd16 r1, r2, r15
+ clz r15, r2
+ clz r1, r15
+ umaal r15, r2, r3, r4
+ umaal r1, r15, r3, r4
+ umaal r1, r2, r15, r4
+ umaal r1, r2, r3, r15
+ strex r15, r2, [r3]
+ strex r1, r15, [r3]
+ strex r1, r2, [r15]
+ ssat r15, #1, r2
+ ssat r1, #1, r15
+ ssat16 r15, #1, r2
+ ssat16 r1, #1, r15
+ smmul r15, r2, r3
+ smmul r1, r15, r3
+ smmul r1, r2, r15
+ smlald r15, r2, r3, r4
+ smlald r1, r15, r3, r4
+ smlald r1, r2, r15, r4
+ smlald r1, r2, r3, r15
+ smlad r15, r2, r3, r4
+ smlad r1, r15, r3, r4
+ smlad r1, r2, r15, r4
+ smlad r1, r2, r3, r15
+ sxth r15, r2
+ sxth r1, r15
+ sxtah r15, r2, r3
+ sxtah r1, r15, r3
+ sxtah r1, r2, r15
+ rfeda r15
+ rev r15, r2
+ rev r1, r15
+ pkhtb r15, r2, r3
+ pkhtb r1, r15, r3
+ pkhtb r1, r2, r15
+ ldrex r15, [r2]
+ ldrex r1, [r15]
+ swp r15, r2, [r3]
+ swp r1, r15, [r3]
+ swp r1, r2, [r15]
+