From 9f6a6cc022e1be500d3e49da1ad8bb2463b6da1b Mon Sep 17 00:00:00 2001 From: Peter Bergner Date: Wed, 15 Aug 2012 15:33:25 +0000 Subject: [PATCH] opcodes/ * ppc-opc.c : 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. --- gas/testsuite/ChangeLog | 7 +++++++ gas/testsuite/gas/ppc/common.d | 4 ++++ gas/testsuite/gas/ppc/common.s | 4 ++++ gas/testsuite/gas/ppc/power7.d | 6 ++++++ gas/testsuite/gas/ppc/power7.s | 6 ++++++ opcodes/ChangeLog | 4 ++++ opcodes/ppc-opc.c | 6 ++++++ 7 files changed, 37 insertions(+) diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 3303cd7..5d903ab 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2012-08-15 Peter Bergner + + * 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. + 2012-08-14 H.J. Lu PR gas/14457 diff --git a/gas/testsuite/gas/ppc/common.d b/gas/testsuite/gas/ppc/common.d index cf7f818..25cb3b5 100644 --- a/gas/testsuite/gas/ppc/common.d +++ b/gas/testsuite/gas/ppc/common.d @@ -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 diff --git a/gas/testsuite/gas/ppc/common.s b/gas/testsuite/gas/ppc/common.s index d079cb2..f1b6dd7 100644 --- a/gas/testsuite/gas/ppc/common.s +++ b/gas/testsuite/gas/ppc/common.s @@ -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 diff --git a/gas/testsuite/gas/ppc/power7.d b/gas/testsuite/gas/ppc/power7.d index 53212fe..748da55 100644 --- a/gas/testsuite/gas/ppc/power7.d +++ b/gas/testsuite/gas/ppc/power7.d @@ -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 diff --git a/gas/testsuite/gas/ppc/power7.s b/gas/testsuite/gas/ppc/power7.s index c6f235c..37c3e7f 100644 --- a/gas/testsuite/gas/ppc/power7.s +++ b/gas/testsuite/gas/ppc/power7.s @@ -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 diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 15fd020..9399da7 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2012-08-15 Peter Bergner + + * ppc-opc.c : New extended mnemonics. + 2012-08-14 Maciej W. Rozycki * mips-dis.c (print_insn_args): Add GET_OP and GET_OP_S local diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index b5cb48a..911b53b 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -4139,6 +4139,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"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_opcodes[] = { {"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}}, -- 2.7.4