summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/testsuite/ChangeLog5
-rw-r--r--binutils/testsuite/binutils-all/m68k/fnop.s1
-rw-r--r--binutils/testsuite/binutils-all/m68k/objdump.exp28
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/m68k-opc.c7
5 files changed, 41 insertions, 4 deletions
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog
index 66977a8d3a..7cd27fce63 100644
--- a/binutils/testsuite/ChangeLog
+++ b/binutils/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-12 Andreas Schwab <schwab@linux-m68k.org>
+
+ * binutils-all/m68k/objdump.exp: Add fnop test.
+ * binutils-all/m68k/fnop.s: New file.
+
2010-09-29 Alan Modra <amodra@gmail.com>
* lib/utils-lib.exp (is_elf_format): Merge with gas and ld versions.
diff --git a/binutils/testsuite/binutils-all/m68k/fnop.s b/binutils/testsuite/binutils-all/m68k/fnop.s
new file mode 100644
index 0000000000..628e1989b0
--- /dev/null
+++ b/binutils/testsuite/binutils-all/m68k/fnop.s
@@ -0,0 +1 @@
+ fnop
diff --git a/binutils/testsuite/binutils-all/m68k/objdump.exp b/binutils/testsuite/binutils-all/m68k/objdump.exp
index ba0afe8c02..5043ef7e1d 100644
--- a/binutils/testsuite/binutils-all/m68k/objdump.exp
+++ b/binutils/testsuite/binutils-all/m68k/objdump.exp
@@ -1,4 +1,4 @@
-# Copyright 2004, 2007, 2009
+# Copyright 2004, 2007, 2009, 2010
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
@@ -51,3 +51,29 @@ if [regexp $want $got] then {
} else {
fail "movem test"
}
+
+###########################
+# Set up the test of fnop.s
+###########################
+
+if {![binutils_assemble $srcdir/$subdir/fnop.s tmpdir/fnop.o]} then {
+ return
+}
+
+if [is_remote host] {
+ set objfile [remote_download host tmpdir/fnop.o]
+} else {
+ set objfile tmpdir/fnop.o
+}
+
+# Make sure that fnop is decoded as fnop, not fbf.
+
+set got [binutils_run $OBJDUMP "$OBJDUMPFLAGS --disassemble $objfile"]
+
+set want "fnop *\[\r\n\]"
+
+if [regexp $want $got] then {
+ pass "fnop test"
+} else {
+ fail "fnop test"
+}
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 8581095b61..43a585d8a0 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2010-10-12 Andreas Schwab <schwab@linux-m68k.org>
+
+ * m68k-opc.c (m68k_opcodes): Move fnop before fbf.
+
2010-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* s390-opc.c: Make the instruction masks for the load/store on
diff --git a/opcodes/m68k-opc.c b/opcodes/m68k-opc.c
index 71e712e29c..0f6852f147 100644
--- a/opcodes/m68k-opc.c
+++ b/opcodes/m68k-opc.c
@@ -1,6 +1,6 @@
/* Opcode table for m680[012346]0/m6888[12]/m68851/mcf5200.
Copyright 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2009
+ 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
This file is part of the GNU opcodes library.
@@ -529,6 +529,9 @@ const struct m68k_opcode m68k_opcodes[] =
{"fatanhx", 4, two(0xF000, 0x480D), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat },
{"fatanhx", 4, two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiFt", mfloat },
+/* This is the same as `fbf .+2'. */
+{"fnop", 4, two(0xF280, 0x0000), two(0xFFFF, 0xFFFF), "Ii", mfloat | cfloat },
+
{"fbeq", 2, one(0xF081), one(0xF1FF), "IdBW", mfloat | cfloat },
{"fbf", 2, one(0xF080), one(0xF1FF), "IdBW", mfloat | cfloat },
{"fbge", 2, one(0xF093), one(0xF1FF), "IdBW", mfloat | cfloat },
@@ -1084,8 +1087,6 @@ const struct m68k_opcode m68k_opcodes[] =
{"fdnegx", 4, two(0xF000, 0x485E), two(0xF1C0, 0xFC7F), "Ii;xF7", m68040up },
{"fdnegx", 4, two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiFt", m68040up },
-{"fnop", 4, two(0xF280, 0x0000), two(0xFFFF, 0xFFFF), "Ii", mfloat | cfloat },
-
{"fremb", 4, two(0xF000, 0x5825), two(0xF1C0, 0xFC7F), "Ii;bF7", mfloat },
{"fremd", 4, two(0xF000, 0x5425), two(0xF1C0, 0xFC7F), "Ii;FF7", mfloat },
{"freml", 4, two(0xF000, 0x4025), two(0xF1C0, 0xFC7F), "Ii;lF7", mfloat },