aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/testsuite/ChangeLog7
-rw-r--r--gas/testsuite/gas/ppc/common.d4
-rw-r--r--gas/testsuite/gas/ppc/common.s4
-rw-r--r--gas/testsuite/gas/ppc/power7.d6
-rw-r--r--gas/testsuite/gas/ppc/power7.s6
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/ppc-opc.c6
7 files changed, 37 insertions, 0 deletions
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 <bergner@vnet.ibm.com>
+
+ * 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 <hongjiu.lu@intel.com>
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 <bergner@vnet.ibm.com>
+
+ * ppc-opc.c <xnop, yield, mdoio, mdoom>: New extended mnemonics.
+
2012-08-14 Maciej W. Rozycki <macro@codesourcery.com>
* 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}},