summaryrefslogtreecommitdiffstats
path: root/gas
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2008-02-27 12:33:43 +0000
committerNick Clifton <nickc@redhat.com>2008-02-27 12:33:43 +0000
commitaf7329f0ff70842d615f8af5fc3397d6892c8478 (patch)
tree2d4b4adf0d2afc765c8b9d88c6534393e7f45303 /gas
parentb14f9da0aefde1e39bccd5f3daa437d06b4379d3 (diff)
downloadppe42-binutils-af7329f0ff70842d615f8af5fc3397d6892c8478.tar.gz
ppe42-binutils-af7329f0ff70842d615f8af5fc3397d6892c8478.zip
PR 3134
* h8300.h (h8_opcodes): Add an encoding for a mov.l instruction with a 32-bit displacement but without the top bit of the 4th byte set. * gas/h8300/pr3134.s: New test. * gas/h8300/pr3134.d: Expected disassembly * gas/h8300/h8300.exp: Run the new test. * gas/h8300/h8300-coff.exp: Fix test for COFF based ports to accept h8300-rtemscoff not just h8300-rtems.
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/ChangeLog10
-rw-r--r--gas/testsuite/gas/h8300/h8300-coff.exp2
-rw-r--r--gas/testsuite/gas/h8300/h8300.exp2
-rw-r--r--gas/testsuite/gas/h8300/pr3134.d11
-rw-r--r--gas/testsuite/gas/h8300/pr3134.s7
5 files changed, 31 insertions, 1 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 882b68425d..233414c548 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2008-02-27 Nick Clifton <nickc@redhat.com>
+
+ PR 3134
+ * gas/h8300/pr3134.s: New test.
+ * gas/h8300/pr3134.d: Expected disassembly
+ * gas/h8300/h8300.exp: Run the new test.
+
+ * gas/h8300/h8300-coff.exp: Fix test for COFF based ports to
+ accept h8300-rtemscoff not just h8300-rtems.
+
2008-02-26 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/jump.d: Updated for COFF.
diff --git a/gas/testsuite/gas/h8300/h8300-coff.exp b/gas/testsuite/gas/h8300/h8300-coff.exp
index d6b9c9cd0b..a7cf080d59 100644
--- a/gas/testsuite/gas/h8300/h8300-coff.exp
+++ b/gas/testsuite/gas/h8300/h8300-coff.exp
@@ -264,7 +264,7 @@ proc do_h8300s_branch {} {
if { [istarget h8300*-*-coff]
|| [istarget h8300*-*-hms*]
- || [istarget h8300*-*-rtems*] } then {
+ || [istarget h8300*-*-rtemscoff*] } then {
# Test the basic h8300 instruction parser
do_h8300_cbranch
diff --git a/gas/testsuite/gas/h8300/h8300.exp b/gas/testsuite/gas/h8300/h8300.exp
index 104a882513..1441806b37 100644
--- a/gas/testsuite/gas/h8300/h8300.exp
+++ b/gas/testsuite/gas/h8300/h8300.exp
@@ -2244,4 +2244,6 @@ if [istarget h8300*-*-*] then {
set aout [expr [istarget *-*-bsd*] || [istarget *-*-netbsd*]]
gas_test "cmpsi2.s" "" "" "cmpsi2.s"
+
+ run_dump_test "pr3134"
}
diff --git a/gas/testsuite/gas/h8300/pr3134.d b/gas/testsuite/gas/h8300/pr3134.d
new file mode 100644
index 0000000000..305474e8e4
--- /dev/null
+++ b/gas/testsuite/gas/h8300/pr3134.d
@@ -0,0 +1,11 @@
+# objdump: -wd
+# name: Check that both encodings of mov.l (disp32) are accepted (PR 3134)
+
+.*: *file format elf32-h8300.*
+
+Disassembly of section \.text:
+
+0+00 <\.text>:
+ .*:[ ]+01 00 78 80 6b a0 00 00 00 00[ ]+mov.l[ ]+er0,@\(0x0:32,er0\)
+ .*:[ ]+01 00 78 80 6b a0 00 00 00 00[ ]+mov.l[ ]+er0,@\(0x0:32,er0\)
+ .*:[ ]+01 00 78 00 6b a0 00 00 00 00[ ]+mov.l[ ]+er0,@\(0x0:32,er0\)
diff --git a/gas/testsuite/gas/h8300/pr3134.s b/gas/testsuite/gas/h8300/pr3134.s
new file mode 100644
index 0000000000..7c4ebf777f
--- /dev/null
+++ b/gas/testsuite/gas/h8300/pr3134.s
@@ -0,0 +1,7 @@
+ .h8300s
+
+ mov er0, @(0:32,er0)
+
+ .byte 1, 0, 0x78, 0x80, 0x6b, 0xa0, 0, 0, 0, 0
+ .byte 1, 0, 0x78, 0x00, 0x6b, 0xa0, 0, 0, 0, 0
+
OpenPOWER on IntegriCloud