aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-04-20 13:42:48 +0000
committerAlan Modra <amodra@gmail.com>2007-04-20 13:42:48 +0000
commitc5c2803a6650ae5f529aa1767bdbe42c8d59aef2 (patch)
treefbc5827c679b709482e881cb3b67e37b40cea1ed
parent931774a953b8d12dc80325af47bdd4860a332818 (diff)
downloadgdb-c5c2803a6650ae5f529aa1767bdbe42c8d59aef2.zip
gdb-c5c2803a6650ae5f529aa1767bdbe42c8d59aef2.tar.gz
gdb-c5c2803a6650ae5f529aa1767bdbe42c8d59aef2.tar.bz2
* 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.
-rw-r--r--gas/testsuite/ChangeLog8
-rw-r--r--gas/testsuite/gas/ppc/ppc.exp15
-rw-r--r--gas/testsuite/gas/ppc/range.l3
-rw-r--r--gas/testsuite/gas/ppc/range.s7
-rw-r--r--gas/testsuite/gas/ppc/range64.l6
-rw-r--r--gas/testsuite/gas/ppc/range64.s7
6 files changed, 46 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 01713e6..19cc782 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2007-04-20 Alan Modra <amodra@bigpond.net.au>
+
+ * 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 <rearnsha@arm.com>
* 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 dc5ef2c..0f0e9bf 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 0000000..9a71ca4
--- /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 0000000..04251e5
--- /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 0000000..6e28b7c
--- /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 0000000..b4a04cf
--- /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)