https://sourceware.org/bugzilla/show_bug.cgi?id=24982
Bug ID: 24982 Summary: m68k tdiv instructions assembled incorrectly Product: binutils Version: 2.33 (HEAD) Status: UNCONFIRMED Severity: minor Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: miod at online dot fr Target Milestone: --- Created attachment 11982 --> https://sourceware.org/bugzilla/attachment.cgi?id=11982&action=edit m68k-opc.c patch Motorola SVR4 as uses "tdiv" as an alias for a 32-bit divide operator (32-bit operand, 32-bit divider, get 32-bit remainder and quotient). In other words, "tdivs" is a synonym of "divsll" and "tdivu" of "divull". However, the current translation in opc-m68k.c translates them to "divsl" and "divul", which are the 64-bit operand, 32-bit divider, flavour. This translation has been incorrect since at least 1995 since it is already incorrect in the sourceware CVS import. Of course, the poor choice of mnemonics (div{s,u}l being 32/32 and div{s,u} being 64/32) probably led to that error. This probably went unnoticed because not much code, outside of Motorola's own code, has been written using the "tdiv" mnemonics; and such code was fed to Motorola's as which does not suffer from that bug. Trivial diff attached. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils