This is the mail archive of the binutils@sourceware.org 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]
Other format: [Raw text]

[committed] Fix R5900 opcode entries


ADDA.S, MULA.S and SUBA.S were using optional register "V" as the first
operand, but it is only designed to be used as the second operand.
Use the non-optional form "S" instead.

Tested on various targets and applied.

Richard


opcodes/
	* mips-opc.c (mips_builtin_opcodes): Use "S,T" rather than "V,T" for
	ADDA.S, MULA.S and SUBA.S.

Index: opcodes/mips-opc.c
===================================================================
--- opcodes/mips-opc.c	2013-07-14 10:11:42.565963552 +0100
+++ opcodes/mips-opc.c	2013-07-14 10:11:44.177975836 +0100
@@ -314,7 +314,7 @@ const struct mips_opcode mips_builtin_op
 {"add.qh",  "X,Y,Q",	0x7820000b, 0xfc20003f,	WR_D|RD_S|RD_T|FP_D,	0,		0,	MX	},
 {"adda.ob", "Y,Q",	0x78000037, 0xfc2007ff,	RD_S|RD_T|FP_D,		WR_MACC,	SB1,	MX	},
 {"adda.qh", "Y,Q",	0x78200037, 0xfc2007ff,	RD_S|RD_T|FP_D,		WR_MACC,	0,	MX	},
-{"adda.s",  "V,T",	0x46000018, 0xffe007ff,	RD_S|RD_T|FP_S,		0,		EE	},
+{"adda.s",  "S,T",	0x46000018, 0xffe007ff,	RD_S|RD_T|FP_S,		0,		EE	},
 {"addi",    "t,r,j",	0x20000000, 0xfc000000,	WR_t|RD_s,		0,		I1	},
 {"addiu",   "t,r,j",	0x24000000, 0xfc000000,	WR_t|RD_s,		0,		I1	},
 {"addl.ob", "Y,Q",	0x78000437, 0xfc2007ff,	RD_S|RD_T|FP_D,		WR_MACC,	SB1,	MX	},
@@ -1157,7 +1157,7 @@ const struct mips_opcode mips_builtin_op
 {"mula.ob", "Y,Q",	0x78000033, 0xfc2007ff,	RD_S|RD_T|FP_D,		WR_MACC,	SB1,	MX	},
 {"mula.ob", "S,Q",	0x48000033, 0xfc2007ff,	WR_CC|RD_S|RD_T,	0,		N54	},
 {"mula.qh", "Y,Q",	0x78200033, 0xfc2007ff,	RD_S|RD_T|FP_D,		WR_MACC,	0,	MX	},
-{"mula.s",  "V,T",	0x4600001a, 0xffe007ff,	RD_S|RD_T|FP_S,		0,		EE	},
+{"mula.s",  "S,T",	0x4600001a, 0xffe007ff,	RD_S|RD_T|FP_S,		0,		EE	},
 {"mulhi",   "d,s,t",	0x00000258, 0xfc0007ff,	RD_s|RD_t|WR_HILO|WR_d,	0,		N5	},
 {"mulhiu",  "d,s,t",	0x00000259, 0xfc0007ff,	RD_s|RD_t|WR_HILO|WR_d,	0,		N5	},
 {"mull.ob", "Y,Q",	0x78000433, 0xfc2007ff,	RD_S|RD_T|FP_D, 	WR_MACC,	SB1,	MX	},
@@ -1528,7 +1528,7 @@ const struct mips_opcode mips_builtin_op
 {"suba.qh", "Y,Q",	0x78200036, 0xfc2007ff,	RD_S|RD_T|FP_D,		WR_MACC,	0,	MX	},
 {"subl.ob", "Y,Q",	0x78000436, 0xfc2007ff,	RD_S|RD_T|FP_D,		WR_MACC,	SB1,	MX	},
 {"subl.qh", "Y,Q",	0x78200436, 0xfc2007ff,	RD_S|RD_T|FP_D,		WR_MACC,	0,	MX	},
-{"suba.s",  "V,T",	0x46000019, 0xffe007ff,	RD_S|RD_T|FP_S,		0,		EE	},
+{"suba.s",  "S,T",	0x46000019, 0xffe007ff,	RD_S|RD_T|FP_S,		0,		EE	},
 {"subu",    "d,v,t",	0x00000023, 0xfc0007ff,	WR_d|RD_s|RD_t,		0,		I1	},
 {"subu",    "d,v,I",	0,    (int) M_SUBU_I,	INSN_MACRO,		0,		I1	},
 {"subu",	"D,S,T",	0x45800001,	0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,	IL2E	},


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