This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

MIPS opcodes patch: change move from andu to or



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*/



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]