From 1437d0631b209500db8371c425e896deb66ec9f9 Mon Sep 17 00:00:00 2001 From: Peter Bergner Date: Wed, 8 Mar 2017 14:00:42 -0600 Subject: Add support for the new 'lnia' extended mnemonic. opcodes/ * ppc-opc.c (powerpc_opcodes) : New extended mnemonic. gas/ * testsuite/gas/ppc/power9.d New test. * testsuite/gas/ppc/power9.s: Likewise. --- opcodes/ChangeLog | 4 ++++ opcodes/ppc-opc.c | 3 +++ 2 files changed, 7 insertions(+) (limited to 'opcodes') diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index f2b1bec..3a4df13 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2017-03-08 Peter Bergner + + * ppc-opc.c (powerpc_opcodes) : New extended mnemonic. + 2017-03-06 H.J. Lu * i386-dis.c (REG_0F1E_MOD_3): New enum. diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index bbff9b3..3580453 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -2552,6 +2552,8 @@ extract_vleil (unsigned long insn, /* An DX form instruction. */ #define DX(op, xop) (OP (op) | ((((unsigned long)(xop)) & 0x1f) << 1)) #define DX_MASK DX (0x3f, 0x1f) +/* An DX form instruction with the D bits specified. */ +#define NODX_MASK (DX_MASK | 0x1fffc1) /* An EVSEL form instruction. */ #define EVSEL(op, xop) (OP (op) | (((unsigned long)(xop)) & 0xff) << 3) @@ -4264,6 +4266,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"mcrf", XL(19,0), XLBB_MASK|(3<<21)|(3<<16), COM, PPCVLE, {BF, BFA}}, +{"lnia", DX(19,2), NODX_MASK, POWER9, PPCVLE, {RT}}, {"addpcis", DX(19,2), DX_MASK, POWER9, PPCVLE, {RT, DXD}}, {"subpcis", DX(19,2), DX_MASK, POWER9, PPCVLE, {RT, NDXD}}, -- cgit v1.1