* ppc-opc.c: Add optional field to mtmsrd.
authorAlan Modra <amodra@gmail.com>
Thu, 21 Mar 2002 09:01:49 +0000 (09:01 +0000)
committerAlan Modra <amodra@gmail.com>
Thu, 21 Mar 2002 09:01:49 +0000 (09:01 +0000)
(MTMSRD_L, XRLARB_MASK): Define.

opcodes/ChangeLog
opcodes/ppc-opc.c

index f77d9f7..800b8e4 100644 (file)
@@ -1,3 +1,8 @@
+2002-03-21  Anton Blanchard  <anton@samba.org>
+
+       * ppc-opc.c: Add optional field to mtmsrd.
+       (MTMSRD_L, XRLARB_MASK): Define.
+
 Mon Mar 18 21:10:43 CET 2002  Jan Hubicka  <jh@suse.cz>
 
        * i386-dis.c (prefix_name): Fix handling of 32bit address prefix
index 3d7bdb1..68cd1bc 100644 (file)
@@ -510,6 +510,10 @@ const struct powerpc_operand powerpc_operands[] =
 #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_opcodes[] = {
 { "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 } },