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]

[PATCH] PR gas/15220: MIPS/Loongson 2F: Wrong opcodes for madd.ps/msub.ps/nmadd.ps/nmsub.ps


Hello,

Please consider applying the following trivial patch to fix PR 15520
(http://sourceware.org/bugzilla/show_bug.cgi?id=15220).

Thanks,

A.


opcodes/

	PR gas/15220
	* mips-opc.c (mips_builtin_opcodes): Fix wrong opcodes for
	Loongson 2F madd.ps, msub.ps, nmadd.ps and nmsub.ps.

Index: opcodes/mips-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/mips-opc.c,v
retrieving revision 1.107
diff -u -r1.107 mips-opc.c
--- opcodes/mips-opc.c	14 Jul 2013 14:25:57 -0000	1.107
+++ opcodes/mips-opc.c	21 Jul 2013 15:49:04 -0000
@@ -1073,7 +1073,7 @@
 {"madd.s",		"D,S,T",	0x4600001c, 0xffe0003f, RD_S|RD_T|WR_D|FP_S,	     0,		EE,		0,	0 },
 {"madd.ps",		"D,R,S,T",	0x4c000026, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D,    0,		I5_33,		0,	0 },
 {"madd.ps",		"D,S,T",	0x45600018, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	     0,		IL2E,		0,	0 },
-{"madd.ps",		"D,S,T",	0x71600018, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	     0,		IL2F,		0,	0 },
+{"madd.ps",		"D,S,T",	0x72c00018, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	     0,		IL2F,		0,	0 },
 {"madd",		"s,t",		0x0000001c, 0xfc00ffff, RD_s|RD_t|WR_HILO,           0,		L1,		0,	0 },
 {"madd",		"s,t",		0x70000000, 0xfc00ffff, RD_s|RD_t|MOD_HILO,          0,		I32|N55,	0,	0 },
 {"madd",		"s,t",		0x70000000, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M,      0,		G1,		0,	0 },
@@ -1197,7 +1197,7 @@
 {"msub.s",		"D,S,T",	0x4600001d, 0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,		EE,		0,	0 },
 {"msub.ps",		"D,R,S,T",	0x4c00002e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I5_33,		0,	0 },
 {"msub.ps",		"D,S,T",	0x45600019, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2E,		0,	0 },
-{"msub.ps",		"D,S,T",	0x71600019, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2F,		0,	0 },
+{"msub.ps",		"D,S,T",	0x72c00019, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2F,		0,	0 },
 {"msub",		"s,t",		0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO,	0,		L1,		0,	0 },
 {"msub",		"s,t",		0x70000004, 0xfc00ffff, RD_s|RD_t|MOD_HILO,     0,		I32|N55,	0,	0 },
 {"msub",		"7,s,t",	0x70000004, 0xfc00e7ff, MOD_a|RD_s|RD_t,        0,              0,		D32,	0 },
@@ -1321,7 +1321,7 @@
 {"nmadd.s",		"D,S,T",	0x7200001a, 0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,		IL2F,		0,	0 },
 {"nmadd.ps",		"D,R,S,T",	0x4c000036, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I5_33,		0,	0 },
 {"nmadd.ps",		"D,S,T",	0x4560001a, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2E,		0,	0 },
-{"nmadd.ps",		"D,S,T",	0x7160001a, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2F,		0,	0 },
+{"nmadd.ps",		"D,S,T",	0x72c0001a, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2F,		0,	0 },
 {"nmsub.d",		"D,R,S,T",	0x4c000039, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I4_33,		0,	0 },
 {"nmsub.d",		"D,S,T",	0x4620001b, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2E,		0,	0 },
 {"nmsub.d",		"D,S,T",	0x7220001b, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2F,		0,	0 },
@@ -1330,7 +1330,7 @@
 {"nmsub.s",		"D,S,T",	0x7200001b, 0xffe0003f,	RD_S|RD_T|WR_D|FP_S,	0,		IL2F,		0,	0 },
 {"nmsub.ps",		"D,R,S,T",	0x4c00003e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0,		I5_33,		0,	0 },
 {"nmsub.ps",		"D,S,T",	0x4560001b, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2E,		0,	0 },
-{"nmsub.ps",		"D,S,T",	0x7160001b, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2F,		0,	0 },
+{"nmsub.ps",		"D,S,T",	0x72c0001b, 0xffe0003f,	RD_S|RD_T|WR_D|FP_D,	0,		IL2F,		0,	0 },
 /* nop is at the start of the table.  */
 {"nor",			"d,v,t",	0x00000027, 0xfc0007ff,	WR_d|RD_s|RD_t,		0,		I1,		0,	0 },
 {"nor",			"t,r,I",	0,    (int) M_NOR_I,	INSN_MACRO,		0,		I1,		0,	0 },


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