* gas/arm/arm.exp: Add r15-bad.
authorPaul Brook <paul@codesourcery.com>
Wed, 10 Dec 2003 12:50:26 +0000 (12:50 +0000)
committerPaul Brook <paul@codesourcery.com>
Wed, 10 Dec 2003 12:50:26 +0000 (12:50 +0000)
* gas/arm/r15-bad.s: New file.
* gas/arm/r15-bad.l: New file.

gas/testsuite/ChangeLog
gas/testsuite/gas/arm/arm.exp
gas/testsuite/gas/arm/r15-bad.l [new file with mode: 0644]
gas/testsuite/gas/arm/r15-bad.s [new file with mode: 0644]

index 41ee31b..b8cfb69 100644 (file)
@@ -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.
index 05c4f70..80f9c92 100644 (file)
@@ -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 (file)
index 0000000..b0c370f
--- /dev/null
@@ -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 (file)
index 0000000..5c91e72
--- /dev/null
@@ -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]
+