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] Use WR_31 rather for single-op MIPS JALR*s


The link register in single-operand JALR-type instructions were specified
using WR_d, but the forthcoming patches prefer the equivalent WR_31 instead.

Richard


opcodes/
	* mips-opc.c (mips_builtin_opcodes): Use WR_31 rather than WR_d
	for the single-operand forms of JALR and JALR.HB.
	* micromips-opc.c (micromips_opcodes): Likewise JALR, JALRS, JALR.HB
	and JALRS.HB.

Index: opcodes/mips-opc.c
===================================================================
--- opcodes/mips-opc.c	2013-07-27 16:30:32.078708111 +0100
+++ opcodes/mips-opc.c	2013-07-27 16:34:51.745931331 +0100
@@ -942,11 +942,11 @@ const struct mips_opcode mips_builtin_op
    assembler, but will never match user input (because the line above
    will match first).  */
 {"j",			"a",		0x08000000, 0xfc000000,	UBD,			0,		I1,		0,	0 },
-{"jalr",		"s",		0x0000f809, 0xfc1fffff,	UBD|RD_s|WR_d,		0,		I1,		0,	0 },
+{"jalr",		"s",		0x0000f809, 0xfc1fffff,	UBD|RD_s|WR_31,		0,		I1,		0,	0 },
 {"jalr",		"d,s",		0x00000009, 0xfc1f07ff,	UBD|RD_s|WR_d,		0,		I1,		0,	0 },
 /* jalr.hb is officially MIPS{32,64}R2, but it works on R1 as jalr
    with the same hazard barrier effect.  */
-{"jalr.hb",		"s",		0x0000fc09, 0xfc1fffff,	UBD|RD_s|WR_d,		0,		I32,		0,	0 },
+{"jalr.hb",		"s",		0x0000fc09, 0xfc1fffff,	UBD|RD_s|WR_31,		0,		I32,		0,	0 },
 {"jalr.hb",		"d,s",		0x00000409, 0xfc1f07ff,	UBD|RD_s|WR_d,		0,		I32,		0,	0 },
 /* SVR4 PIC code requires special handling for jal, so it must be a
    macro.  */
Index: opcodes/micromips-opc.c
===================================================================
--- opcodes/micromips-opc.c	2013-07-25 20:00:55.379444138 +0100
+++ opcodes/micromips-opc.c	2013-07-27 16:34:51.744931322 +0100
@@ -707,15 +707,15 @@ const struct mips_opcode micromips_opcod
 {"j",			"a",		0xd4000000, 0xfc000000,	UBD,			0,		I1,		0,	0 },
 {"jalr",		"mj",		    0x45c0,     0xffe0,	UBD|WR_31,		RD_mj|BD32,	I1,		0,	0 },
 {"jalr",		"my,mj",	    0x45c0,     0xffe0,	UBD|WR_31,		RD_mj|BD32,	I1,		0,	0 },
-{"jalr",		"s",		0x03e00f3c, 0xffe0ffff,	UBD|RD_s|WR_t,		BD32,		I1,		0,	0 },
+{"jalr",		"s",		0x03e00f3c, 0xffe0ffff,	UBD|RD_s|WR_31,		BD32,		I1,		0,	0 },
 {"jalr",		"t,s",		0x00000f3c, 0xfc00ffff,	UBD|RD_s|WR_t,		BD32,		I1,		0,	0 },
-{"jalr.hb",		"s",		0x03e01f3c, 0xffe0ffff,	UBD|RD_s|WR_t,		BD32,		I1,		0,	0 },
+{"jalr.hb",		"s",		0x03e01f3c, 0xffe0ffff,	UBD|RD_s|WR_31,		BD32,		I1,		0,	0 },
 {"jalr.hb",		"t,s",		0x00001f3c, 0xfc00ffff,	UBD|RD_s|WR_t,		BD32,		I1,		0,	0 },
 {"jalrs",		"mj",		    0x45e0,     0xffe0,	UBD|WR_31,		RD_mj|BD16,	I1,		0,	0 },
 {"jalrs",		"my,mj",	    0x45e0,     0xffe0,	UBD|WR_31,		RD_mj|BD16,	I1,		0,	0 },
-{"jalrs",		"s",		0x03e04f3c, 0xffe0ffff,	UBD|RD_s|WR_t,		BD16,		I1,		0,	0 },
+{"jalrs",		"s",		0x03e04f3c, 0xffe0ffff,	UBD|RD_s|WR_31,		BD16,		I1,		0,	0 },
 {"jalrs",		"t,s",		0x00004f3c, 0xfc00ffff,	UBD|RD_s|WR_t,		BD16,		I1,		0,	0 },
-{"jalrs.hb",		"s",		0x03e05f3c, 0xffe0ffff,	UBD|RD_s|WR_t,		BD16,		I1,		0,	0 },
+{"jalrs.hb",		"s",		0x03e05f3c, 0xffe0ffff,	UBD|RD_s|WR_31,		BD16,		I1,		0,	0 },
 {"jalrs.hb",		"t,s",		0x00005f3c, 0xfc00ffff,	UBD|RD_s|WR_t,		BD16,		I1,		0,	0 },
 /* SVR4 PIC code requires special handling for jal, so it must be a
    macro.  */


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