From 4249f881bdb61da1be3dc569c5920507a058c3f7 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Wed, 10 Dec 2003 12:50:26 +0000 Subject: [PATCH] * gas/arm/arm.exp: Add r15-bad. * gas/arm/r15-bad.s: New file. * gas/arm/r15-bad.l: New file. --- gas/testsuite/ChangeLog | 6 +++ gas/testsuite/gas/arm/arm.exp | 2 + gas/testsuite/gas/arm/r15-bad.l | 64 +++++++++++++++++++++++++++++++ gas/testsuite/gas/arm/r15-bad.s | 68 +++++++++++++++++++++++++++++++++ 4 files changed, 140 insertions(+) create mode 100644 gas/testsuite/gas/arm/r15-bad.l create mode 100644 gas/testsuite/gas/arm/r15-bad.s 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 + + * 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 * 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] + -- 2.34.1