The following floating point instruction: fmoves #0e1.23,%fp0 is disassembled to: 0: f23c 4400 3f9d fmoves #1.23,%fp0 6: 70a4 The prefix 0e is missing in disassembly, it can't be used as gas input.
Created attachment 4831 [details] The fix This patch fixes the problem. I have not included a testcase because binutils/testsuite/binutils-all/m68k/objdump.exp doesn't seem to be ready for that.
Subject: Bug 11676 CVSROOT: /cvs/src Module name: src Changes by: nickc@sourceware.org 2010-06-16 15:12:51 Modified files: opcodes : ChangeLog m68k-dis.c gas/testsuite : ChangeLog gas/testsuite/gas/m68k: all.exp Added files: gas/testsuite/gas/m68k: pr11676.d pr11676.s Log message: 2010-06-16 Vincent Rivire <vincent.riviere@freesbee.fr> PR binutils/11676 * m68k-dis.c (print_insn_arg): Prefix float constants with #0e. 2010-06-16 Nick Clifton <nickc@redhat.com> PR binutils/11676 * gas/m68k/pr11676.s: New test. * gas/m68k/pr11676.d: Expected disassembly. * gas/m68k/all.exp: Run the new test. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/src/opcodes/ChangeLog.diff?cvsroot=src&r1=1.1595&r2=1.1596 http://sourceware.org/cgi-bin/cvsweb.cgi/src/opcodes/m68k-dis.c.diff?cvsroot=src&r1=1.36&r2=1.37 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/ChangeLog.diff?cvsroot=src&r1=1.1677&r2=1.1678 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/m68k/pr11676.d.diff?cvsroot=src&r1=NONE&r2=1.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/m68k/pr11676.s.diff?cvsroot=src&r1=NONE&r2=1.1 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/m68k/all.exp.diff?cvsroot=src&r1=1.20&r2=1.21
Hi Vincent, Thanks for reporting this problem. I have applied your patch and created a gas testcase for it as well. Cheers Nick
Thanks Nick, it works.