From 987e32fe062440ff1f5dfdc48501da0e95a73733 Mon Sep 17 00:00:00 2001 From: amodra Date: Fri, 20 Apr 2007 13:42:48 +0000 Subject: [PATCH] * gas/ppc/range64.s: New. * gas/ppc/range64.l: New. * gas/ppc/range.s: New. * gas/ppc/range.l: New. * gas/ppc/ppc.exp (run_list_test): New. Use to run new tests. --- gas/testsuite/ChangeLog | 8 ++++++++ gas/testsuite/gas/ppc/ppc.exp | 15 +++++++++++++++ gas/testsuite/gas/ppc/range.l | 3 +++ gas/testsuite/gas/ppc/range.s | 7 +++++++ gas/testsuite/gas/ppc/range64.l | 6 ++++++ gas/testsuite/gas/ppc/range64.s | 7 +++++++ 6 files changed, 46 insertions(+) create mode 100644 gas/testsuite/gas/ppc/range.l create mode 100644 gas/testsuite/gas/ppc/range.s create mode 100644 gas/testsuite/gas/ppc/range64.l create mode 100644 gas/testsuite/gas/ppc/range64.s diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 01713e6330..19cc782e99 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2007-04-20 Alan Modra + + * gas/ppc/range64.s: New. + * gas/ppc/range64.l: New. + * gas/ppc/range.s: New. + * gas/ppc/range.l: New. + * gas/ppc/ppc.exp (run_list_test): New. Use to run new tests. + 2007-04-20 Richard Earnshaw * gas/arm/mapshort.s: Add a small .data section. diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index dc5ef2c5b6..0f0e9bf01b 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -2,6 +2,19 @@ # Some PowerPC tests # +proc run_list_test { name opts } { + global srcdir subdir + set testname "ppc $name" + set file $srcdir/$subdir/$name + gas_run ${name}.s $opts ">&dump.out" + if { [regexp_diff "dump.out" "${file}.l"] } then { + fail $testname + verbose "output is [file_contents "dump.out"]" 2 + return + } + pass $testname +} + # These tests are currently ELF specific, only because nobody has # converted them to look for XCOFF relocations. @@ -12,6 +25,7 @@ if { [istarget powerpc64*-*-*] || [istarget *-*-elf64*]} then { run_dump_test "test1elf64" run_dump_test "power4" run_dump_test "cell" + run_list_test "range64" "-a64" } elseif { [istarget powerpc*-*aix*] } then { run_dump_test "test1xcoff32" } elseif { [istarget powerpc*-*-*bsd*] \ @@ -39,5 +53,6 @@ if { [istarget powerpc*-*-*] } then { run_dump_test "altivec" run_dump_test "booke" run_dump_test "e500" + run_list_test "range" "-a32" } } diff --git a/gas/testsuite/gas/ppc/range.l b/gas/testsuite/gas/ppc/range.l new file mode 100644 index 0000000000..9a71ca4f88 --- /dev/null +++ b/gas/testsuite/gas/ppc/range.l @@ -0,0 +1,3 @@ +.*: Assembler messages: +.*:6: Error: operand out of range.* +.*:7: Error: operand out of range.* diff --git a/gas/testsuite/gas/ppc/range.s b/gas/testsuite/gas/ppc/range.s new file mode 100644 index 0000000000..04251e5e93 --- /dev/null +++ b/gas/testsuite/gas/ppc/range.s @@ -0,0 +1,7 @@ + .text + lbz 4,-32768(3) + lbz 5,-1(3) + lbz 6,2(3) + lbz 7,32767(3) + lbz 8,32768(3) + lbz 9,-32769(3) diff --git a/gas/testsuite/gas/ppc/range64.l b/gas/testsuite/gas/ppc/range64.l new file mode 100644 index 0000000000..6e28b7c7e9 --- /dev/null +++ b/gas/testsuite/gas/ppc/range64.l @@ -0,0 +1,6 @@ +.*: Assembler messages: +.*:3: Error: operand out of domain \(-1 is not a multiple of 4\) +.*:4: Error: operand out of domain \(2 is not a multiple of 4\) +.*:5: Error: operand out of range.* +.*:6: Error: operand out of range.* +.*:7: Error: operand out of range.* diff --git a/gas/testsuite/gas/ppc/range64.s b/gas/testsuite/gas/ppc/range64.s new file mode 100644 index 0000000000..b4a04cf763 --- /dev/null +++ b/gas/testsuite/gas/ppc/range64.s @@ -0,0 +1,7 @@ + .text + ld 4,-32768(3) + ld 5,-1(3) + ld 6,2(3) + ld 7,32767(3) + ld 8,32768(3) + ld 9,-32769(3) -- 2.11.0