This is the mail archive of the binutils@sources.redhat.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]

[patch] MIPS opcode table HI/LO cleanup


Back in 1997, Ken Raeburn was kind enough to add the macros WR_HILO,
RD_HILO, and MOD_HILO to mips-opc.c.  Unfortunately, the opcode table
was never converted to use them!

Below is a patch that actually makes use of the "new" macros.  8-)

make & checked on mips-elf and mips64-elf, also diffed the old vs. new
mips-opc.o files since there should be no change.


patch applies in src on top of the rest of my patches.


chris
=====================================================================
for opcodes/ChangeLog:

2000-10-25  Chris Demetriou  <cgd@sibyte.com>

	* mips-opc.c (mips_builtin_opcodes): Use the WR_HILO, RD_HILO,
	MOD_HILO, and MOD_LO macros.


*** ../src.P12/opcodes/mips-opc.c	Wed Oct 25 17:42:29 2000
--- opcodes/mips-opc.c	Wed Oct 25 21:24:36 2000
***************
*** 366,376 ****
  {"dctw",    "o(b)",	0xbc090000, 0xfc1f0000, RD_b,	I3	},
  {"deret",   "",         0x4200001f, 0xffffffff,    0,	I32|G2|M1	},
  /* For ddiv, see the comments about div.  */
! {"ddiv",    "z,s,t",	0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HI|WR_LO,	I3	},
  {"ddiv",    "d,v,t",	0,    (int) M_DDIV_3,	INSN_MACRO,	I3	},
  {"ddiv",    "d,v,I",	0,    (int) M_DDIV_3I,	INSN_MACRO,	I3	},
  /* For ddivu, see the comments about div.  */
! {"ddivu",   "z,s,t",	0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HI|WR_LO,	I3	},
  {"ddivu",   "d,v,t",	0,    (int) M_DDIVU_3,	INSN_MACRO,	I3	},
  {"ddivu",   "d,v,I",	0,    (int) M_DDIVU_3I,	INSN_MACRO,	I3	},
  /* The MIPS assembler treats the div opcode with two operands as
--- 366,376 ----
  {"dctw",    "o(b)",	0xbc090000, 0xfc1f0000, RD_b,	I3	},
  {"deret",   "",         0x4200001f, 0xffffffff,    0,	I32|G2|M1	},
  /* For ddiv, see the comments about div.  */
! {"ddiv",    "z,s,t",	0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO,	I3	},
  {"ddiv",    "d,v,t",	0,    (int) M_DDIV_3,	INSN_MACRO,	I3	},
  {"ddiv",    "d,v,I",	0,    (int) M_DDIV_3I,	INSN_MACRO,	I3	},
  /* For ddivu, see the comments about div.  */
! {"ddivu",   "z,s,t",	0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HILO,	I3	},
  {"ddivu",   "d,v,t",	0,    (int) M_DDIVU_3,	INSN_MACRO,	I3	},
  {"ddivu",   "d,v,I",	0,    (int) M_DDIVU_3I,	INSN_MACRO,	I3	},
  /* The MIPS assembler treats the div opcode with two operands as
***************
*** 377,391 ****
     though the first operand appeared twice (the first operand is both
     a source and a destination).  To get the div machine instruction,
     you must use an explicit destination of $0.  */
! {"div",     "z,s,t",	0x0000001a, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO,	I1	},
! {"div",     "z,t",	0x0000001a, 0xffe0ffff,	RD_s|RD_t|WR_HI|WR_LO,	I1	},
  {"div",     "d,v,t",	0,    (int) M_DIV_3,	INSN_MACRO,	I1	},
  {"div",     "d,v,I",	0,    (int) M_DIV_3I,	INSN_MACRO,	I1	},
  {"div.d",   "D,V,T",	0x46200003, 0xffe0003f,	WR_D|RD_S|RD_T|FP_D,	I1	},
  {"div.s",   "D,V,T",	0x46000003, 0xffe0003f,	WR_D|RD_S|RD_T|FP_S,	I1	},
  /* For divu, see the comments about div.  */
! {"divu",    "z,s,t",	0x0000001b, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO,	I1	},
! {"divu",    "z,t",	0x0000001b, 0xffe0ffff,	RD_s|RD_t|WR_HI|WR_LO,	I1	},
  {"divu",    "d,v,t",	0,    (int) M_DIVU_3,	INSN_MACRO,	I1	},
  {"divu",    "d,v,I",	0,    (int) M_DIVU_3I,	INSN_MACRO,	I1	},
  {"dla",     "t,o(b)",	0x64000000, 0xfc000000, WR_t|RD_s,	I3	}, /* daddiu */
--- 377,391 ----
     though the first operand appeared twice (the first operand is both
     a source and a destination).  To get the div machine instruction,
     you must use an explicit destination of $0.  */
! {"div",     "z,s,t",	0x0000001a, 0xfc00ffff,	RD_s|RD_t|WR_HILO,	I1	},
! {"div",     "z,t",	0x0000001a, 0xffe0ffff,	RD_s|RD_t|WR_HILO,	I1	},
  {"div",     "d,v,t",	0,    (int) M_DIV_3,	INSN_MACRO,	I1	},
  {"div",     "d,v,I",	0,    (int) M_DIV_3I,	INSN_MACRO,	I1	},
  {"div.d",   "D,V,T",	0x46200003, 0xffe0003f,	WR_D|RD_S|RD_T|FP_D,	I1	},
  {"div.s",   "D,V,T",	0x46000003, 0xffe0003f,	WR_D|RD_S|RD_T|FP_S,	I1	},
  /* For divu, see the comments about div.  */
! {"divu",    "z,s,t",	0x0000001b, 0xfc00ffff,	RD_s|RD_t|WR_HILO,	I1	},
! {"divu",    "z,t",	0x0000001b, 0xffe0ffff,	RD_s|RD_t|WR_HILO,	I1	},
  {"divu",    "d,v,t",	0,    (int) M_DIVU_3,	INSN_MACRO,	I1	},
  {"divu",    "d,v,I",	0,    (int) M_DIVU_3I,	INSN_MACRO,	I1	},
  {"dla",     "t,o(b)",	0x64000000, 0xfc000000, WR_t|RD_s,	I3	}, /* daddiu */
***************
*** 394,400 ****
  {"dli",	    "t,i",	0x34000000, 0xffe00000, WR_t,	I3	}, /* ori */
  {"dli",     "t,I",	0,    (int) M_DLI,	INSN_MACRO,	I3	},
  
! {"dmadd16", "s,t",      0x00000029, 0xfc00ffff, RD_s|RD_t|WR_LO|RD_LO,	V1	},
  {"dmfc0",   "t,G",	0x40200000, 0xffe007ff, LCD|WR_t|RD_C0,	I3	},
  {"dmtc0",   "t,G",	0x40a00000, 0xffe007ff, COD|RD_t|WR_C0|WR_CC,	I3	},
  {"dmfc1",   "t,S",	0x44200000, 0xffe007ff, LCD|WR_t|RD_S|FP_S,	I3	},
--- 394,400 ----
  {"dli",	    "t,i",	0x34000000, 0xffe00000, WR_t,	I3	}, /* ori */
  {"dli",     "t,I",	0,    (int) M_DLI,	INSN_MACRO,	I3	},
  
! {"dmadd16", "s,t",      0x00000029, 0xfc00ffff, RD_s|RD_t|MOD_LO,	V1	},
  {"dmfc0",   "t,G",	0x40200000, 0xffe007ff, LCD|WR_t|RD_C0,	I3	},
  {"dmtc0",   "t,G",	0x40a00000, 0xffe007ff, COD|RD_t|WR_C0|WR_CC,	I3	},
  {"dmfc1",   "t,S",	0x44200000, 0xffe007ff, LCD|WR_t|RD_S|FP_S,	I3	},
***************
*** 407,420 ****
  {"dmulo",   "d,v,I",	0,    (int) M_DMULO_I,	INSN_MACRO,	I3	},
  {"dmulou",  "d,v,t",	0,    (int) M_DMULOU,	INSN_MACRO,	I3	},
  {"dmulou",  "d,v,I",	0,    (int) M_DMULOU_I,	INSN_MACRO,	I3	},
! {"dmult",   "s,t",	0x0000001c, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO,	    I3},
! {"dmultu",  "s,t",	0x0000001d, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO,      I3},
  {"dneg",    "d,w",	0x0000002e, 0xffe007ff,	WR_d|RD_t,	I3	}, /* dsub 0 */
  {"dnegu",   "d,w",	0x0000002f, 0xffe007ff,	WR_d|RD_t,	I3	}, /* dsubu 0*/
! {"drem",    "z,s,t",	0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HI|WR_LO,	I3	},
  {"drem",    "d,v,t",	3,    (int) M_DREM_3,	INSN_MACRO,	I3	},
  {"drem",    "d,v,I",	3,    (int) M_DREM_3I,	INSN_MACRO,	I3	},
! {"dremu",   "z,s,t",	0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HI|WR_LO,	I3	},
  {"dremu",   "d,v,t",	3,    (int) M_DREMU_3,	INSN_MACRO,	I3	},
  {"dremu",   "d,v,I",	3,    (int) M_DREMU_3I,	INSN_MACRO,	I3	},
  {"dsllv",   "d,t,s",	0x00000014, 0xfc0007ff,	WR_d|RD_t|RD_s,	I3	},
--- 407,420 ----
  {"dmulo",   "d,v,I",	0,    (int) M_DMULO_I,	INSN_MACRO,	I3	},
  {"dmulou",  "d,v,t",	0,    (int) M_DMULOU,	INSN_MACRO,	I3	},
  {"dmulou",  "d,v,I",	0,    (int) M_DMULOU_I,	INSN_MACRO,	I3	},
! {"dmult",   "s,t",	0x0000001c, 0xfc00ffff,	RD_s|RD_t|WR_HILO,	    I3},
! {"dmultu",  "s,t",	0x0000001d, 0xfc00ffff,	RD_s|RD_t|WR_HILO,      I3},
  {"dneg",    "d,w",	0x0000002e, 0xffe007ff,	WR_d|RD_t,	I3	}, /* dsub 0 */
  {"dnegu",   "d,w",	0x0000002f, 0xffe007ff,	WR_d|RD_t,	I3	}, /* dsubu 0*/
! {"drem",    "z,s,t",	0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO,	I3	},
  {"drem",    "d,v,t",	3,    (int) M_DREM_3,	INSN_MACRO,	I3	},
  {"drem",    "d,v,I",	3,    (int) M_DREM_3I,	INSN_MACRO,	I3	},
! {"dremu",   "z,s,t",	0x0000001f, 0xfc00ffff, RD_s|RD_t|WR_HILO,	I3	},
  {"dremu",   "d,v,t",	3,    (int) M_DREMU_3,	INSN_MACRO,	I3	},
  {"dremu",   "d,v,I",	3,    (int) M_DREMU_3I,	INSN_MACRO,	I3	},
  {"dsllv",   "d,t,s",	0x00000014, 0xfc0007ff,	WR_d|RD_t|RD_s,	I3	},
***************
*** 533,552 ****
  {"lwu",     "t,o(b)",	0x9c000000, 0xfc000000,	LDD|RD_b|WR_t,	I3	},
  {"lwu",     "t,A(b)",	0,    (int) M_LWU_AB,	INSN_MACRO,	I3	},
  {"lwxc1",   "D,t(b)",	0x4c000000, 0xfc00f83f, LDD|WR_D|RD_t|RD_b,	I4	},
! {"mad",	    "s,t",	0x70000000, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO|RD_HI|RD_LO,	P3	},
! {"madu",    "s,t",	0x70000001, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO|RD_HI|RD_LO,	P3	},
  {"madd.d",  "D,R,S,T",	0x4c000021, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,	I4	},
  {"madd.s",  "D,R,S,T",	0x4c000020, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_S,	I4	},
  {"madd.ps", "D,R,S,T",	0x4c000026, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,	I5	},
! {"madd",    "s,t",	0x0000001c, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO,		L1	},
! {"madd",    "s,t",	0x70000000, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO|RD_HI|RD_LO,	I32	},
! {"madd",    "s,t",	0x70000000, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO|IS_M,	G1|M1	},
! {"madd",    "d,s,t",	0x70000000, 0xfc0007ff,	RD_s|RD_t|WR_HI|WR_LO|WR_d|IS_M,	G1	},
! {"maddu",   "s,t",	0x0000001d, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO,		L1	},
! {"maddu",   "s,t",	0x70000001, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO|RD_HI|RD_LO,	I32	},
! {"maddu",   "s,t",	0x70000001, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO|IS_M,	G1|M1},
! {"maddu",   "d,s,t",	0x70000001, 0xfc0007ff,	RD_s|RD_t|WR_HI|WR_LO|WR_d|IS_M,	G1},
! {"madd16",  "s,t",      0x00000028, 0xfc00ffff, RD_s|RD_t|WR_HI|WR_LO|RD_HI|RD_LO,	V1	},
  {"mfc0",    "t,G",	0x40000000, 0xffe007ff,	LCD|WR_t|RD_C0,	I1	},
  {"mfc0",    "t,G,H",	0x40000000, 0xffe007f8, LCD|WR_t|RD_C0,	I32	},
  {"mfc1",    "t,S",	0x44000000, 0xffe007ff,	LCD|WR_t|RD_S|FP_S,	I1},
--- 533,552 ----
  {"lwu",     "t,o(b)",	0x9c000000, 0xfc000000,	LDD|RD_b|WR_t,	I3	},
  {"lwu",     "t,A(b)",	0,    (int) M_LWU_AB,	INSN_MACRO,	I3	},
  {"lwxc1",   "D,t(b)",	0x4c000000, 0xfc00f83f, LDD|WR_D|RD_t|RD_b,	I4	},
! {"mad",	    "s,t",	0x70000000, 0xfc00ffff,	RD_s|RD_t|MOD_HILO,	P3	},
! {"madu",    "s,t",	0x70000001, 0xfc00ffff,	RD_s|RD_t|MOD_HILO,	P3	},
  {"madd.d",  "D,R,S,T",	0x4c000021, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,	I4	},
  {"madd.s",  "D,R,S,T",	0x4c000020, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_S,	I4	},
  {"madd.ps", "D,R,S,T",	0x4c000026, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,	I5	},
! {"madd",    "s,t",	0x0000001c, 0xfc00ffff,	RD_s|RD_t|WR_HILO,		L1	},
! {"madd",    "s,t",	0x70000000, 0xfc00ffff,	RD_s|RD_t|MOD_HILO,	I32	},
! {"madd",    "s,t",	0x70000000, 0xfc00ffff,	RD_s|RD_t|WR_HILO|IS_M,	G1|M1	},
! {"madd",    "d,s,t",	0x70000000, 0xfc0007ff,	RD_s|RD_t|WR_HILO|WR_d|IS_M,	G1	},
! {"maddu",   "s,t",	0x0000001d, 0xfc00ffff,	RD_s|RD_t|WR_HILO,		L1	},
! {"maddu",   "s,t",	0x70000001, 0xfc00ffff,	RD_s|RD_t|MOD_HILO,	I32	},
! {"maddu",   "s,t",	0x70000001, 0xfc00ffff,	RD_s|RD_t|WR_HILO|IS_M,	G1|M1},
! {"maddu",   "d,s,t",	0x70000001, 0xfc0007ff,	RD_s|RD_t|WR_HILO|WR_d|IS_M,	G1},
! {"madd16",  "s,t",      0x00000028, 0xfc00ffff, RD_s|RD_t|MOD_HILO,	V1	},
  {"mfc0",    "t,G",	0x40000000, 0xffe007ff,	LCD|WR_t|RD_C0,	I1	},
  {"mfc0",    "t,G,H",	0x40000000, 0xffe007f8, LCD|WR_t|RD_C0,	I32	},
  {"mfc1",    "t,S",	0x44000000, 0xffe007ff,	LCD|WR_t|RD_S|FP_S,	I1},
***************
*** 581,590 ****
  {"msub.d",  "D,R,S,T",	0x4c000029, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,	I4	},
  {"msub.s",  "D,R,S,T",	0x4c000028, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_S,	I4	},
  {"msub.ps", "D,R,S,T",	0x4c00002e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,	I5	},
! {"msub",    "s,t",	0x0000001e, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO,L1	},
! {"msub",    "s,t",	0x70000004, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO|RD_HI|RD_LO,	I32	},
! {"msubu",   "s,t",	0x0000001f, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO,L1	},
! {"msubu",   "s,t",	0x70000005, 0xfc00ffff, RD_s|RD_t|WR_HI|WR_LO|RD_HI|RD_LO,	I32	},
  {"mtc0",    "t,G",	0x40800000, 0xffe007ff,	COD|RD_t|WR_C0|WR_CC,	I1	},
  {"mtc0",    "t,G,H",	0x40800000, 0xffe007f8, COD|RD_t|WR_C0|WR_CC,	I32	},
  {"mtc1",    "t,S",	0x44800000, 0xffe007ff,	COD|RD_t|WR_S|FP_S,	I1	},
--- 581,590 ----
  {"msub.d",  "D,R,S,T",	0x4c000029, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,	I4	},
  {"msub.s",  "D,R,S,T",	0x4c000028, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_S,	I4	},
  {"msub.ps", "D,R,S,T",	0x4c00002e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,	I5	},
! {"msub",    "s,t",	0x0000001e, 0xfc00ffff,	RD_s|RD_t|WR_HILO,L1	},
! {"msub",    "s,t",	0x70000004, 0xfc00ffff,	RD_s|RD_t|MOD_HILO,	I32	},
! {"msubu",   "s,t",	0x0000001f, 0xfc00ffff,	RD_s|RD_t|WR_HILO,L1	},
! {"msubu",   "s,t",	0x70000005, 0xfc00ffff, RD_s|RD_t|MOD_HILO,	I32	},
  {"mtc0",    "t,G",	0x40800000, 0xffe007ff,	COD|RD_t|WR_C0|WR_CC,	I1	},
  {"mtc0",    "t,G,H",	0x40800000, 0xffe007f8, COD|RD_t|WR_C0|WR_CC,	I32	},
  {"mtc1",    "t,S",	0x44800000, 0xffe007ff,	COD|RD_t|WR_S|FP_S,	I1	},
***************
*** 599,605 ****
  {"mul.d",   "D,V,T",	0x46200002, 0xffe0003f,	WR_D|RD_S|RD_T|FP_D,	I1	},
  {"mul.s",   "D,V,T",	0x46000002, 0xffe0003f,	WR_D|RD_S|RD_T|FP_S,	I1	},
  {"mul.ps",  "D,V,T",	0x46c00002, 0xffe0003f,	WR_D|RD_S|RD_T|FP_D,	I5	},
! {"mul",     "d,v,t",	0x70000002, 0xfc0007ff, WR_d|RD_s|RD_t|WR_HI|WR_LO,	I32|P3	},
  {"mul",     "d,v,t",	0,    (int) M_MUL,	INSN_MACRO,	I1	},
  {"mul",     "d,v,I",	0,    (int) M_MUL_I,	INSN_MACRO,	I1	},
  {"mulo",    "d,v,t",	0,    (int) M_MULO,	INSN_MACRO,	I1	},
--- 599,605 ----
  {"mul.d",   "D,V,T",	0x46200002, 0xffe0003f,	WR_D|RD_S|RD_T|FP_D,	I1	},
  {"mul.s",   "D,V,T",	0x46000002, 0xffe0003f,	WR_D|RD_S|RD_T|FP_S,	I1	},
  {"mul.ps",  "D,V,T",	0x46c00002, 0xffe0003f,	WR_D|RD_S|RD_T|FP_D,	I5	},
! {"mul",     "d,v,t",	0x70000002, 0xfc0007ff, WR_d|RD_s|RD_t|WR_HILO,	I32|P3	},
  {"mul",     "d,v,t",	0,    (int) M_MUL,	INSN_MACRO,	I1	},
  {"mul",     "d,v,I",	0,    (int) M_MUL_I,	INSN_MACRO,	I1	},
  {"mulo",    "d,v,t",	0,    (int) M_MULO,	INSN_MACRO,	I1	},
***************
*** 606,615 ****
  {"mulo",    "d,v,I",	0,    (int) M_MULO_I,	INSN_MACRO,	I1	},
  {"mulou",   "d,v,t",	0,    (int) M_MULOU,	INSN_MACRO,	I1	},
  {"mulou",   "d,v,I",	0,    (int) M_MULOU_I,	INSN_MACRO,	I1	},
! {"mult",    "s,t",	0x00000018, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO|IS_M,	I1},
! {"mult",    "d,s,t",	0x00000018, 0xfc0007ff,	RD_s|RD_t|WR_HI|WR_LO|WR_d|IS_M, G1},
! {"multu",   "s,t",	0x00000019, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO|IS_M,	I1},
! {"multu",   "d,s,t",	0x00000019, 0xfc0007ff,	RD_s|RD_t|WR_HI|WR_LO|WR_d|IS_M, G1},
  {"neg",     "d,w",	0x00000022, 0xffe007ff,	WR_d|RD_t,	I1	}, /* sub 0 */
  {"negu",    "d,w",	0x00000023, 0xffe007ff,	WR_d|RD_t,	I1	}, /* subu 0 */
  {"neg.d",   "D,V",	0x46200007, 0xffff003f,	WR_D|RD_S|FP_D,	I1	},
--- 606,615 ----
  {"mulo",    "d,v,I",	0,    (int) M_MULO_I,	INSN_MACRO,	I1	},
  {"mulou",   "d,v,t",	0,    (int) M_MULOU,	INSN_MACRO,	I1	},
  {"mulou",   "d,v,I",	0,    (int) M_MULOU_I,	INSN_MACRO,	I1	},
! {"mult",    "s,t",	0x00000018, 0xfc00ffff,	RD_s|RD_t|WR_HILO|IS_M,	I1},
! {"mult",    "d,s,t",	0x00000018, 0xfc0007ff,	RD_s|RD_t|WR_HILO|WR_d|IS_M, G1},
! {"multu",   "s,t",	0x00000019, 0xfc00ffff,	RD_s|RD_t|WR_HILO|IS_M,	I1},
! {"multu",   "d,s,t",	0x00000019, 0xfc0007ff,	RD_s|RD_t|WR_HILO|WR_d|IS_M, G1},
  {"neg",     "d,w",	0x00000022, 0xffe007ff,	WR_d|RD_t,	I1	}, /* sub 0 */
  {"negu",    "d,w",	0x00000023, 0xffe007ff,	WR_d|RD_t,	I1	}, /* subu 0 */
  {"neg.d",   "D,V",	0x46200007, 0xffff003f,	WR_D|RD_S|FP_D,	I1	},
***************
*** 640,649 ****
  
  {"recip.d", "D,S",	0x46200015, 0xffff003f, WR_D|RD_S|FP_D,	I4	},
  {"recip.s", "D,S",	0x46000015, 0xffff003f, WR_D|RD_S|FP_S,	I4	},
! {"rem",     "z,s,t",	0x0000001a, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO,	I1 },
  {"rem",     "d,v,t",	0,    (int) M_REM_3,	INSN_MACRO,	I1	},
  {"rem",     "d,v,I",	0,    (int) M_REM_3I,	INSN_MACRO,	I1	},
! {"remu",    "z,s,t",	0x0000001b, 0xfc00ffff,	RD_s|RD_t|WR_HI|WR_LO,	I1 },
  {"remu",    "d,v,t",	0,    (int) M_REMU_3,	INSN_MACRO,	I1	},
  {"remu",    "d,v,I",	0,    (int) M_REMU_3I,	INSN_MACRO,	I1	},
  {"rfe",     "",		0x42000010, 0xffffffff,	0,	I1|T3		},
--- 640,649 ----
  
  {"recip.d", "D,S",	0x46200015, 0xffff003f, WR_D|RD_S|FP_D,	I4	},
  {"recip.s", "D,S",	0x46000015, 0xffff003f, WR_D|RD_S|FP_S,	I4	},
! {"rem",     "z,s,t",	0x0000001a, 0xfc00ffff,	RD_s|RD_t|WR_HILO,	I1 },
  {"rem",     "d,v,t",	0,    (int) M_REM_3,	INSN_MACRO,	I1	},
  {"rem",     "d,v,I",	0,    (int) M_REM_3I,	INSN_MACRO,	I1	},
! {"remu",    "z,s,t",	0x0000001b, 0xfc00ffff,	RD_s|RD_t|WR_HILO,	I1 },
  {"remu",    "d,v,t",	0,    (int) M_REMU_3,	INSN_MACRO,	I1	},
  {"remu",    "d,v,I",	0,    (int) M_REMU_3I,	INSN_MACRO,	I1	},
  {"rfe",     "",		0x42000010, 0xffffffff,	0,	I1|T3		},


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