aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/m68k/all.exp1
-rw-r--r--gas/testsuite/gas/m68k/mcf-movsr.d15
-rw-r--r--gas/testsuite/gas/m68k/mcf-movsr.s13
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/m68k-opc.c4
6 files changed, 42 insertions, 2 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index b1b0668..c180bea 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2007-10-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gas/m68k/mcf-movsr.s: New.
+ * gas/m68k/mcf-movsr.d: New.
+ * gas/m68k/all.exp: Add mcf-movsr test.
+
2007-10-16 Nick Clifton <nickc@redhat.com>
* gas/elf/elf.exp: Accept COMMON in readelf's output.
diff --git a/gas/testsuite/gas/m68k/all.exp b/gas/testsuite/gas/m68k/all.exp
index ae9f993..0dcf29e 100644
--- a/gas/testsuite/gas/m68k/all.exp
+++ b/gas/testsuite/gas/m68k/all.exp
@@ -49,6 +49,7 @@ if { [istarget m68*-*-*] || [istarget fido*-*-*] } then {
}
run_dump_test mcf-mov3q
+ run_dump_test mcf-movsr
run_dump_test mode5
run_dump_test mcf-mac
run_dump_test mcf-emac
diff --git a/gas/testsuite/gas/m68k/mcf-movsr.d b/gas/testsuite/gas/m68k/mcf-movsr.d
new file mode 100644
index 0000000..494413a
--- /dev/null
+++ b/gas/testsuite/gas/m68k/mcf-movsr.d
@@ -0,0 +1,15 @@
+#name: mcf-movsr
+#objdump: -d
+#as: -mcpu=5329
+
+.*: file format .*
+
+Disassembly of section .text:
+
+0+ <test_movsr>:
+ 0: 46c3 movew %d3,%sr
+ 2: 46fc ffff movew #-1,%sr
+ 6: 40c3 movew %sr,%d3
+ 8: 44c3 movew %d3,%ccr
+ a: 44fc ffff movew #-1,%ccr
+ e: 42c3 movew %ccr,%d3
diff --git a/gas/testsuite/gas/m68k/mcf-movsr.s b/gas/testsuite/gas/m68k/mcf-movsr.s
new file mode 100644
index 0000000..32c9ecb
--- /dev/null
+++ b/gas/testsuite/gas/m68k/mcf-movsr.s
@@ -0,0 +1,13 @@
+.text
+|*****************************************************************
+| Test all permutations of movew sr and movew ccr
+|*****************************************************************
+ .global test_movsr
+test_movsr:
+ move.w %d3,%sr | Mode 0
+ move.w #-1,%sr | Mode 7.4
+ move.w %sr,%d3 | Mode 0
+
+ move.w %d3,%ccr | Mode 0
+ move.w #-1,%ccr | Mode 7.4
+ move.w %ccr,%d3 | Mode 0
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index d9f7c9d..a4d3f1a 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ * m68k-opc.c (m68k_opcodes): Correct move sr and ccr masks for
+ coldfire.
+
2007-10-15 Peter Bergner <bergner@vnet.ibm.com>
* ppc-opc.c (powerpc_opcodes): Fix the first two operands of
diff --git a/opcodes/m68k-opc.c b/opcodes/m68k-opc.c
index 0094dab..e3b7a45 100644
--- a/opcodes/m68k-opc.c
+++ b/opcodes/m68k-opc.c
@@ -1593,10 +1593,10 @@ const struct m68k_opcode m68k_opcodes[] =
{"movew", 2, one(0041300), one(0177700), "Cs$s", m68010up },
{"movew", 2, one(0041300), one(0177770), "CsDs", mcfisa_a },
{"movew", 2, one(0042300), one(0177700), ";wCd", m68000up },
-{"movew", 2, one(0042300), one(0177700), "DsCd", mcfisa_a },
+{"movew", 2, one(0042300), one(0177770), "DsCd", mcfisa_a },
{"movew", 4, one(0042374), one(0177777), "#wCd", mcfisa_a },
{"movew", 2, one(0043300), one(0177700), ";wSd", m68000up },
-{"movew", 2, one(0043300), one(0177700), "DsSd", mcfisa_a },
+{"movew", 2, one(0043300), one(0177770), "DsSd", mcfisa_a },
{"movew", 4, one(0043374), one(0177777), "#wSd", mcfisa_a },
{"movel", 2, one(0070000), one(0170400), "MsDd", m68000up | mcfisa_a },