powerpc mtmsrd

Alan Modra amodra@bigpond.net.au
Thu Mar 21 01:00:00 GMT 2002


Another instruction extension.  Applying to mainline.

opcodes/ChangeLog
2002-03-21  Anton Blanchard  <anton@samba.org>

	* ppc-opc.c: Add optional field to mtmsrd.
	(MTMSRD_L, XRLARB_MASK): Define.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre

Index: opcodes/ppc-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/ppc-opc.c,v
retrieving revision 1.28
diff -u -p -r1.28 ppc-opc.c
--- ppc-opc.c	2002/03/13 08:34:04	1.28
+++ ppc-opc.c	2002/03/21 08:56:48
@@ -510,6 +510,10 @@ const struct powerpc_operand powerpc_ope
 #define WS_MASK (0x7 << 11)
   { 3, 11, 0, 0, 0 },
 
+  /* The L field in an mtmsrd instruction */
+#define MTMSRD_L WS + 1
+  { 1, 16, 0, 0, PPC_OPERAND_OPTIONAL },
+
 };
 
 /* The functions used to insert and extract complicated operands.  */
@@ -1412,6 +1416,9 @@ extract_tbr (insn, dialect, invalid)
 /* An X_MASK with the RA and RB fields fixed.  */
 #define XRARB_MASK (X_MASK | RA_MASK | RB_MASK)
 
+/* An XRARB_MASK, but with the L bit clear. */
+#define XRLARB_MASK (XRARB_MASK & ~((unsigned long) 1 << 16))
+
 /* An X_MASK with the RT and RA fields fixed.  */
 #define XRTRA_MASK (X_MASK | RT_MASK | RA_MASK)
 
@@ -2950,7 +2957,7 @@ const struct powerpc_opcode powerpc_opco
 { "wrteei",  X(31,163),	XE_MASK,	PPC403,		{ E } },
 { "wrteei",  X(31,163),	XE_MASK,	BOOKE,		{ E } },
 
-{ "mtmsrd",  X(31,178),	XRARB_MASK,	PPC64,		{ RS } },
+{ "mtmsrd",  X(31,178),	XRLARB_MASK,	PPC64,		{ RS , MTMSRD_L } },
 
 { "stdux",   X(31,181),	X_MASK,		PPC64,		{ RS, RAS, RB } },
 



More information about the Binutils mailing list