* [PATCH, PPC] Add some missing extended mnemonics.
@ 2012-08-14 23:59 Peter Bergner
2012-08-15 0:58 ` Alan Modra
0 siblings, 1 reply; 4+ messages in thread
From: Peter Bergner @ 2012-08-14 23:59 UTC (permalink / raw)
To: binutils; +Cc: Alan Modra
The following patch adds a few extended mnemonics defined in the ISA docs
that were never added. The xnop is described as being like a nop, but
is sent down the functional units unlike a normal nop instruction.
The other three extended mnemonics were new with POWER7.
This built and make checked with no regressions. Is this ok for mainline?
Peter
opcodes/
* ppc-opc.c <xnop, yield, mdoio, mdoom>: New extended mnemonics.
gas/testsuite/
* gas/ppc/common.d ("nop", "xnop"): Add tests.
* gas/ppc/common.s: Likewise.
* gas/ppc/power7.d ("yield", "mdoio", "mdoom"): Add tests.
* gas/ppc/power7.s: Likewise.
Index: opcodes/ppc-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/ppc-opc.c,v
retrieving revision 1.147
diff -u -p -r1.147 ppc-opc.c
--- opcodes/ppc-opc.c 25 Jul 2012 13:08:55 -0000 1.147
+++ opcodes/ppc-opc.c 14 Aug 2012 22:46:43 -0000
@@ -4139,6 +4139,7 @@ const struct powerpc_opcode powerpc_opco
{"oris", OP(25), OP_MASK, PPCCOM, PPCNONE, {RA, RS, UI}},
{"oriu", OP(25), OP_MASK, PWRCOM, PPCNONE, {RA, RS, UI}},
+{"xnop", OP(26), 0xffffffff, PPCCOM, PPCNONE, {0}},
{"xori", OP(26), OP_MASK, PPCCOM, PPCNONE, {RA, RS, UI}},
{"xoril", OP(26), OP_MASK, PWRCOM, PPCNONE, {RA, RS, UI}},
@@ -4924,6 +4925,11 @@ const struct powerpc_opcode powerpc_opco
{"miso", 0x7f5ad378, 0xffffffff, E6500, PPCNONE, {0}},
+/* The "yield", "mdoio" and "mdoom" instructions are extended mnemonics for
+ "or rX,rX,rX", with rX being r27, r29 and r30 respectively. */
+{"yield", 0x7f7bdb78, 0xffffffff, POWER7, PPCNONE, {0}},
+{"mdoio", 0x7fbdeb78, 0xffffffff, POWER7, PPCNONE, {0}},
+{"mdoom", 0x7fdef378, 0xffffffff, POWER7, PPCNONE, {0}},
{"mr", XRC(31,444,0), X_MASK, COM|PPCVLE, PPCNONE, {RA, RS, RBS}},
{"or", XRC(31,444,0), X_MASK, COM|PPCVLE, PPCNONE, {RA, RS, RB}},
{"mr.", XRC(31,444,1), X_MASK, COM|PPCVLE, PPCNONE, {RA, RS, RBS}},
Index: gas/testsuite/gas/ppc/common.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/ppc/common.d,v
retrieving revision 1.2
diff -u -p -r1.2 common.d
--- gas/testsuite/gas/ppc/common.d 10 Mar 2009 06:53:46 -0000 1.2
+++ gas/testsuite/gas/ppc/common.d 14 Aug 2012 22:46:42 -0000
@@ -188,3 +188,7 @@ Disassembly of section \.text:
2c4: 7d 8d 73 2e sthx r12,r13,r14
2c8: 7f dd fa 79 xor. r29,r30,r31
2cc: 7f dd fa 78 xor r29,r30,r31
+ 2d0: 60 00 00 00 nop
+ 2d4: 60 00 00 00 nop
+ 2d8: 68 00 00 00 xnop
+ 2dc: 68 00 00 00 xnop
Index: gas/testsuite/gas/ppc/common.s
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/ppc/common.s,v
retrieving revision 1.1
diff -u -p -r1.1 common.s
--- gas/testsuite/gas/ppc/common.s 9 Sep 2008 13:25:05 -0000 1.1
+++ gas/testsuite/gas/ppc/common.s 14 Aug 2012 22:46:42 -0000
@@ -180,3 +180,7 @@ start:
sthx 12,13,14
xor. 29,30,31
xor 29,30,31
+ nop
+ ori 0,0,0
+ xnop
+ xori 0,0,0
Index: gas/testsuite/gas/ppc/power7.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/ppc/power7.d,v
retrieving revision 1.4
diff -u -p -r1.4 power7.d
--- gas/testsuite/gas/ppc/power7.d 29 Sep 2009 13:19:10 -0000 1.4
+++ gas/testsuite/gas/ppc/power7.d 14 Aug 2012 22:46:42 -0000
@@ -111,3 +111,9 @@ Disassembly of section \.text:
194: 60 00 00 00 nop
198: 60 00 00 00 nop
19c: 60 42 00 00 ori r2,r2,0
+ 1a0: 7f 7b db 78 yield
+ 1a4: 7f 7b db 78 yield
+ 1a8: 7f bd eb 78 mdoio
+ 1ac: 7f bd eb 78 mdoio
+ 1b0: 7f de f3 78 mdoom
+ 1b4: 7f de f3 78 mdoom
Index: gas/testsuite/gas/ppc/power7.s
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/ppc/power7.s,v
retrieving revision 1.4
diff -u -p -r1.4 power7.s
--- gas/testsuite/gas/ppc/power7.s 29 Sep 2009 13:19:10 -0000 1.4
+++ gas/testsuite/gas/ppc/power7.s 14 Aug 2012 22:46:42 -0000
@@ -102,3 +102,9 @@ power7:
isel 2,3,4,28
ori 2,2,0
.p2align 4,,15
+ yield
+ or 27,27,27
+ mdoio
+ or 29,29,29
+ mdoom
+ or 30,30,30
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH, PPC] Add some missing extended mnemonics.
2012-08-14 23:59 [PATCH, PPC] Add some missing extended mnemonics Peter Bergner
@ 2012-08-15 0:58 ` Alan Modra
2012-08-15 15:51 ` Peter Bergner
2012-08-29 3:02 ` Peter Bergner
0 siblings, 2 replies; 4+ messages in thread
From: Alan Modra @ 2012-08-15 0:58 UTC (permalink / raw)
To: Peter Bergner; +Cc: binutils
On Tue, Aug 14, 2012 at 06:33:45PM -0500, Peter Bergner wrote:
> opcodes/
> * ppc-opc.c <xnop, yield, mdoio, mdoom>: New extended mnemonics.
>
> gas/testsuite/
> * gas/ppc/common.d ("nop", "xnop"): Add tests.
> * gas/ppc/common.s: Likewise.
> * gas/ppc/power7.d ("yield", "mdoio", "mdoom"): Add tests.
> * gas/ppc/power7.s: Likewise.
OK. I think this could go on the branch too, after a day or two.
--
Alan Modra
Australia Development Lab, IBM
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH, PPC] Add some missing extended mnemonics.
2012-08-15 0:58 ` Alan Modra
@ 2012-08-15 15:51 ` Peter Bergner
2012-08-29 3:02 ` Peter Bergner
1 sibling, 0 replies; 4+ messages in thread
From: Peter Bergner @ 2012-08-15 15:51 UTC (permalink / raw)
To: Alan Modra; +Cc: binutils
On Wed, 15 Aug 2012 09:28:53 +0930 Alan Modra wrote:
> On Tue, Aug 14, 2012 at 06:33:45PM -0500, Peter Bergner wrote:
> > opcodes/
> > * ppc-opc.c <xnop, yield, mdoio, mdoom>: New extended mnemonics.
> >
> > gas/testsuite/
> > * gas/ppc/common.d ("nop", "xnop"): Add tests.
> > * gas/ppc/common.s: Likewise.
> > * gas/ppc/power7.d ("yield", "mdoio", "mdoom"): Add tests.
> > * gas/ppc/power7.s: Likewise.
>
> OK.
Committed, thanks.
> I think this could go on the branch too, after a day or two.
Will do.
Peter
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH, PPC] Add some missing extended mnemonics.
2012-08-15 0:58 ` Alan Modra
2012-08-15 15:51 ` Peter Bergner
@ 2012-08-29 3:02 ` Peter Bergner
1 sibling, 0 replies; 4+ messages in thread
From: Peter Bergner @ 2012-08-29 3:02 UTC (permalink / raw)
To: Alan Modra; +Cc: binutils
On Wed, 15 Aug 2012 09:28:53 +0930 Alan Modra wrote:
> On Tue, Aug 14, 2012 at 06:33:45PM -0500, Peter Bergner wrote:
>> opcodes/
>> * ppc-opc.c <xnop, yield, mdoio, mdoom>: New extended mnemonics.
>>
>> gas/testsuite/
>> * gas/ppc/common.d ("nop", "xnop"): Add tests.
>> * gas/ppc/common.s: Likewise.
>> * gas/ppc/power7.d ("yield", "mdoio", "mdoom"): Add tests.
>> * gas/ppc/power7.s: Likewise.
>
> OK. I think this could go on the branch too, after a day or two.
Ok, this has now been committed to the branch.
Peter
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-08-29 3:01 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-14 23:59 [PATCH, PPC] Add some missing extended mnemonics Peter Bergner
2012-08-15 0:58 ` Alan Modra
2012-08-15 15:51 ` Peter Bergner
2012-08-29 3:02 ` Peter Bergner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).