This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
MIPS opcodes patch: change move from andu to or
- To: binutils at sourceware dot cygnus dot com
- Subject: MIPS opcodes patch: change move from andu to or
- From: Gavin Romig-Koch <gavin at cygnus dot com>
- Date: Mon, 25 Oct 1999 11:19:28 -0400 (EDT)
OK to commit?
-gavin...
For opcodes:
* mips-opc.c (move): Use "or" rather than "addu" or "daddu".
Index: mips-opc.c
===================================================================
RCS file: /cvs/binutils/binutils/opcodes/mips-opc.c,v
retrieving revision 1.1.1.1
diff -c -p -r1.1.1.1 mips-opc.c
*** mips-opc.c 1999/05/03 07:28:59 1.1.1.1
--- mips-opc.c 1999/10/25 15:15:16
*************** const struct mips_opcode mips_builtin_op
*** 109,117 ****
{"li", "t,j", 0x24000000, 0xffe00000, WR_t, I1 }, /* addiu */
{"li", "t,i", 0x34000000, 0xffe00000, WR_t, I1 }, /* ori */
{"li", "t,I", 0, (int) M_LI, INSN_MACRO, I1 },
{"move", "d,s", 0x0000002d, 0xfc1f07ff, WR_d|RD_s, I3 },/* daddu */
{"move", "d,s", 0x00000021, 0xfc1f07ff, WR_d|RD_s, I1 },/* addu */
! {"move", "d,s", 0x00000025, 0xfc1f07ff, WR_d|RD_s, I1 },/* or */
{"b", "p", 0x10000000, 0xffff0000, UBD, I1 },/* beq 0,0 */
{"b", "p", 0x04010000, 0xffff0000, UBD, I1 },/* bgez 0 */
{"bal", "p", 0x04110000, 0xffff0000, UBD|WR_31, I1 },/* bgezal 0*/
--- 109,122 ----
{"li", "t,j", 0x24000000, 0xffe00000, WR_t, I1 }, /* addiu */
{"li", "t,i", 0x34000000, 0xffe00000, WR_t, I1 }, /* ori */
{"li", "t,I", 0, (int) M_LI, INSN_MACRO, I1 },
+
+ /* Using 'or' for 'move' rather than 'addu' or 'daddu' brings gas inline
+ with the Irix4-Irix6 assemblers, and works around some of
+ gcc's -mips3 -gp32 problems. */
+ {"move", "d,s", 0x00000025, 0xfc1f07ff, WR_d|RD_s, I1 },/* or */
{"move", "d,s", 0x0000002d, 0xfc1f07ff, WR_d|RD_s, I3 },/* daddu */
{"move", "d,s", 0x00000021, 0xfc1f07ff, WR_d|RD_s, I1 },/* addu */
!
{"b", "p", 0x10000000, 0xffff0000, UBD, I1 },/* beq 0,0 */
{"b", "p", 0x04010000, 0xffff0000, UBD, I1 },/* bgez 0 */
{"bal", "p", 0x04110000, 0xffff0000, UBD|WR_31, I1 },/* bgezal 0*/