This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
powerpc mtmsrd
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: binutils at sources dot redhat dot com
- Cc: Anton Blanchard <anton at samba dot org>
- Date: Thu, 21 Mar 2002 19:30:50 +1030
- Subject: powerpc mtmsrd
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 } },