From 5ae2e65e90f1960fdd0ac9d05c623d7339ba494a Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 21 Mar 2002 09:01:49 +0000 Subject: [PATCH] * ppc-opc.c: Add optional field to mtmsrd. (MTMSRD_L, XRLARB_MASK): Define. --- opcodes/ChangeLog | 5 +++++ opcodes/ppc-opc.c | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index f77d9f7f7a4..800b8e467e9 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2002-03-21 Anton Blanchard + + * ppc-opc.c: Add optional field to mtmsrd. + (MTMSRD_L, XRLARB_MASK): Define. + Mon Mar 18 21:10:43 CET 2002 Jan Hubicka * i386-dis.c (prefix_name): Fix handling of 32bit address prefix diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 3d7bdb19793..68cd1bcd68c 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -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 } }, -- 2.30.2