From 021d0c6ad1971f89c7c22953a61fdd52414cd55d Mon Sep 17 00:00:00 2001 From: Peter Bergner Date: Wed, 8 Mar 2017 16:24:58 -0600 Subject: Add support for the new 'lnia' extended mnemonic. opcodes/ Apply from master. 2017-03-08 Peter Bergner * ppc-opc.c (powerpc_opcodes) : New extended mnemonic. gas/ Apply from master. 2017-03-08 Peter Bergner * testsuite/gas/ppc/power9.d New test. * testsuite/gas/ppc/power9.s: Likewise. --- gas/ChangeLog | 7 +++++++ gas/testsuite/gas/ppc/power9.d | 5 +++-- gas/testsuite/gas/ppc/power9.s | 1 + opcodes/ChangeLog | 6 ++++++ opcodes/ppc-opc.c | 3 +++ 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 5761c773a55..2404fe1cad0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2017-03-08 Peter Bergner + + Apply from master. + 2017-03-08 Peter Bergner + * testsuite/gas/ppc/power9.d New test. + * testsuite/gas/ppc/power9.s: Likewise. + 2017-02-28 Peter Bergner Apply from master. diff --git a/gas/testsuite/gas/ppc/power9.d b/gas/testsuite/gas/ppc/power9.d index 8e2f2518f8c..27ac0349a0b 100644 --- a/gas/testsuite/gas/ppc/power9.d +++ b/gas/testsuite/gas/ppc/power9.d @@ -310,8 +310,9 @@ Disassembly of section \.text: .*: (f1 31 9d 6f|6f 9d 31 f1) xscvdphp vs41,vs51 .*: (f1 58 a7 6f|6f a7 58 f1) xvcvhpsp vs42,vs52 .*: (f1 79 af 6f|6f af 79 f1) xvcvsphp vs43,vs53 -.*: (4c 60 00 04|04 00 60 4c) addpcis r3,0 -.*: (4c 60 00 04|04 00 60 4c) addpcis r3,0 +.*: (4c 60 00 04|04 00 60 4c) lnia r3 +.*: (4c 60 00 04|04 00 60 4c) lnia r3 +.*: (4c 60 00 04|04 00 60 4c) lnia r3 .*: (4c 80 00 05|05 00 80 4c) addpcis r4,1 .*: (4c 80 00 05|05 00 80 4c) addpcis r4,1 .*: (4c bf ff c4|c4 ff bf 4c) addpcis r5,-2 diff --git a/gas/testsuite/gas/ppc/power9.s b/gas/testsuite/gas/ppc/power9.s index 45f7b5b6d47..31611ee8fef 100644 --- a/gas/testsuite/gas/ppc/power9.s +++ b/gas/testsuite/gas/ppc/power9.s @@ -301,6 +301,7 @@ power9: xscvdphp 41,51 xvcvhpsp 42,52 xvcvsphp 43,53 + lnia 3 addpcis 3,0 subpcis 3,0 addpcis 4,1 diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 1a22b34f918..8b5ef7a580a 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2017-03-08 Peter Bergner + + Apply from master. + 2017-03-08 Peter Bergner + * ppc-opc.c (powerpc_opcodes) : New extended mnemonic. + 2017-02-28 Peter Bergner Apply from master. diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 8190195f1f1..604c856041b 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -2479,6 +2479,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) @@ -4191,6 +4193,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"mcrf", XL(19,0), XLBB_MASK|(3<<21)|(3<<16), COM, PPCNONE, {BF, BFA}}, +{"lnia", DX(19,2), NODX_MASK, POWER9, PPCNONE, {RT}}, {"addpcis", DX(19,2), DX_MASK, POWER9, PPCNONE, {RT, DXD}}, {"subpcis", DX(19,2), DX_MASK, POWER9, PPCNONE, {RT, NDXD}}, -- cgit v1.2.1