aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2016-01-08 11:38:00 +0100
committerAndreas Schwab <schwab@linux-m68k.org>2016-01-08 11:42:10 +0100
commit83c3256ef5afe10625fd55dda2df5fc56b9b7393 (patch)
tree5a00903aaff4ac87e1b440fc5983d6dc47eb6e14 /opcodes
parent109575d7ebac21a0eb67980001ecd4173d696f88 (diff)
downloadgdb-83c3256ef5afe10625fd55dda2df5fc56b9b7393.zip
gdb-83c3256ef5afe10625fd55dda2df5fc56b9b7393.tar.gz
gdb-83c3256ef5afe10625fd55dda2df5fc56b9b7393.tar.bz2
m68k: fix constraints of move.[bw] for ISA_B/C
For ISA_B/C only the combination #,d(An) is allowed in addition to the ISA_A combinations for move.b and move.w (and pc-relative is never allowed as destination). opcodes/ PR gas/13050 * m68k-opc.c (moveb, movew): For ISA_B/C only allow #,d(An) in addition to ISA_A. gas/ PR gas/13050 * testsuite/gas/m68k/all.exp: Add tests p13050-1 and p13050-2. * testsuite/gas/m68k/p13050-1.s: New file. * testsuite/gas/m68k/p13050-2.d: New file. * testsuite/gas/m68k/p13050-2.s: New file.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog6
-rw-r--r--opcodes/m68k-opc.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 4f7f0e5..d585f56 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,9 @@
+2016-01-08 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR gas/13050
+ * m68k-opc.c (moveb, movew): For ISA_B/C only allow #,d(An) in
+ addition to ISA_A.
+
2016-01-01 Alan Modra <amodra@gmail.com>
Update year range in copyright notice of all files.
diff --git a/opcodes/m68k-opc.c b/opcodes/m68k-opc.c
index 6ec6163..dc07f72 100644
--- a/opcodes/m68k-opc.c
+++ b/opcodes/m68k-opc.c
@@ -1575,13 +1575,13 @@ const struct m68k_opcode m68k_opcodes[] =
{"moveb", 2, one(0010200), one(0170700), "obad", mcfisa_a },
{"moveb", 2, one(0010300), one(0170700), "ob+d", mcfisa_a },
{"moveb", 2, one(0010400), one(0170700), "ob-d", mcfisa_a },
-{"moveb", 2, one(0010000), one(0170000), "obnd", mcfisa_b | mcfisa_c },
+{"moveb", 2, one(0010074), one(0170077), "#bpd", mcfisa_b | mcfisa_c },
{"movew", 2, one(0030000), one(0170000), "*w%d", m68000up },
{"movew", 2, one(0030000), one(0170000), "ms%d", mcfisa_a },
{"movew", 2, one(0030000), one(0170000), "nspd", mcfisa_a },
{"movew", 2, one(0030000), one(0170000), "owmd", mcfisa_a },
-{"movew", 2, one(0030000), one(0170000), "ownd", mcfisa_b | mcfisa_c },
+{"movew", 2, one(0030074), one(0170077), "#wpd", mcfisa_b | mcfisa_c },
{"movew", 2, one(0040300), one(0177700), "Ss$s", m68000up },
{"movew", 2, one(0040300), one(0177770), "SsDs", mcfisa_a },
{"movew", 2, one(0041300), one(0177700), "Cs$s", m68010up },
@@ -1630,7 +1630,7 @@ const struct m68k_opcode m68k_opcodes[] =
{"move", 2, one(0030000), one(0170000), "ms%d", mcfisa_a },
{"move", 2, one(0030000), one(0170000), "nspd", mcfisa_a },
{"move", 2, one(0030000), one(0170000), "owmd", mcfisa_a },
-{"move", 2, one(0030000), one(0170000), "ownd", mcfisa_b | mcfisa_c },
+{"move", 2, one(0030074), one(0170077), "#wpd", mcfisa_b | mcfisa_c },
{"move", 2, one(0040300), one(0177700), "Ss$s", m68000up },
{"move", 2, one(0040300), one(0177770), "SsDs", mcfisa_a },
{"move", 2, one(0041300), one(0177700), "Cs$s", m68010up },