* gas/testsuite/gas/m68k/pmove.s, gas/testsuite/gas/m68k/pmove.d: New test.
authorAndreas Schwab <schwab@linux-m68k.org>
Mon, 16 Jan 2012 23:19:20 +0000 (23:19 +0000)
committerAndreas Schwab <schwab@linux-m68k.org>
Mon, 16 Jan 2012 23:19:20 +0000 (23:19 +0000)
* gas/testsuite/gas/m68k/all.exp: Run it.

* opcodes/m68k-opc.c (m68k_opcodes): Fix entries for pmove with BADx/BACx
register and move them after pmove with PSR/PCSR register.

gas/testsuite/ChangeLog
gas/testsuite/gas/m68k/all.exp
gas/testsuite/gas/m68k/pmove.d [new file with mode: 0644]
gas/testsuite/gas/m68k/pmove.s [new file with mode: 0644]
opcodes/ChangeLog
opcodes/m68k-opc.c

index e96c7bda30a1df11b4775197858cc07692e7845d..b217aa507426ab6ea51d749be2ec8f303a952f29 100644 (file)
@@ -1,3 +1,8 @@
+2012-01-17  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * gas/m68k/pmove.s, gas/m68k/pmove.d: New test.
+       * gas/m68k/all.exp: Run it.
+
 2012-01-13  H.J. Lu  <hongjiu.lu@intel.com>
 
        * gas/i386/i386.exp: Run vmfunc and x86-64-vmfunc.
index 60352862d54a575ffb39dc6443efa78cc2172587..2bcce35e8b738c03de9bfb15d97b8390342f2f72 100644 (file)
@@ -99,6 +99,8 @@ if { [istarget m68*-*-*] || [istarget fido*-*-*] } then {
     }
 
     run_dump_test pr11676
+
+    run_dump_test pmove
 }
 if [info exists errorInfo] then {
     unset errorInfo
diff --git a/gas/testsuite/gas/m68k/pmove.d b/gas/testsuite/gas/m68k/pmove.d
new file mode 100644 (file)
index 0000000..33e68f7
--- /dev/null
@@ -0,0 +1,16 @@
+#as: -m68030
+#objdump: --architecture=m68k:68030 -d
+#name: pmove
+
+# Test handling of the 68030/68851 pmove instructions.
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+ <.*>:
+[ 0-9a-f]+:    f010 6200       pmove %psr,%a0@
+[ 0-9a-f]+:    f011 6000       pmove %a1@,%psr
+[ 0-9a-f]+:    f012 6600       pmove %pcsr,%a2@
+[ 0-9a-f]+:    f013 7200       pmove %bad0,%a3@
+[ 0-9a-f]+:    f014 7004       pmove %a4@,%bad1
diff --git a/gas/testsuite/gas/m68k/pmove.s b/gas/testsuite/gas/m68k/pmove.s
new file mode 100644 (file)
index 0000000..7f1ec00
--- /dev/null
@@ -0,0 +1,6 @@
+# Test handling of the 68030/68851 pmove instructions.
+       pmove %psr,%a0@
+       pmove %a1@,%psr
+       pmove %pcsr,%a2@
+       pmove %bad0,%a3@
+       pmove %a4@,%bad1
index 0e16dfc12ba703684264a02e82b172aef081ad6a..48612d5bf20e9f0b9abf4b41beea39145168958b 100644 (file)
@@ -1,3 +1,8 @@
+2012-01-17  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * m68k-opc.c (m68k_opcodes): Fix entries for pmove with BADx/BACx
+       register and move them after pmove with PSR/PCSR register.
+
 2012-01-13  H.J. Lu  <hongjiu.lu@intel.com>
 
        * i386-dis.c (mod_table): Add vmfunc.
index 3c8310aa6eafd6ac7f60e520de2cc6213be071fc..8347ef1e588187adbe2511e9b216990ef416854f 100644 (file)
@@ -1850,11 +1850,11 @@ const struct m68k_opcode m68k_opcodes[] =
 {"pmove", 4,    two(0xf000,0x4200), two(0xffc0,0xe3ff), "28%s", m68851 },
 {"pmove", 4,    two(0xf000,0x4000), two(0xffc0,0xe3ff), "|sW8", m68030|m68851 },
 {"pmove", 4,    two(0xf000,0x4200), two(0xffc0,0xe3ff), "W8~s", m68030|m68851 },
-{"pmove", 4,    two(0xf000,0x6200), two(0xffc0,0xe3e3), "*wX3", m68851 },
-{"pmove", 4,    two(0xf000,0x6000), two(0xffc0,0xe3e3), "X3%s", m68851 },
 {"pmove", 4,    two(0xf000,0x6000), two(0xffc0,0xffff), "*wY8", m68030|m68851 },
 {"pmove", 4,    two(0xf000,0x6200), two(0xffc0,0xffff), "Y8%s", m68030|m68851 },
 {"pmove", 4,    two(0xf000,0x6600), two(0xffc0,0xffff), "Z8%s", m68851 },
+{"pmove", 4,    two(0xf000,0x6000), two(0xffc0,0xe3e3), "*wX3", m68851 },
+{"pmove", 4,    two(0xf000,0x6200), two(0xffc0,0xe3e3), "X3%s", m68851 },
 {"pmove", 4,    two(0xf000,0x0800), two(0xffc0,0xfbff), "*l38", m68030 },
 {"pmove", 4,    two(0xf000,0x0a00), two(0xffc0,0xfbff), "38%s", m68030 },