opcodes/
authorPeter Bergner <bergner@vnet.ibm.com>
Wed, 15 Aug 2012 15:33:25 +0000 (15:33 +0000)
committerPeter Bergner <bergner@vnet.ibm.com>
Wed, 15 Aug 2012 15:33:25 +0000 (15:33 +0000)
* 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.

gas/testsuite/ChangeLog
gas/testsuite/gas/ppc/common.d
gas/testsuite/gas/ppc/common.s
gas/testsuite/gas/ppc/power7.d
gas/testsuite/gas/ppc/power7.s
opcodes/ChangeLog
opcodes/ppc-opc.c

index 3303cd781c3fb62b5a25851389c1c284b5b9ad85..5d903abe034165ae1c43286b06517c3ed6cc9167 100644 (file)
@@ -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
index cf7f818d08cbea0cb084a4eea0b42f447428474f..25cb3b52f81c1e2bf538014b49bb4195b987747b 100644 (file)
@@ -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 d079cb2fefd111b497ee5911f895d1974a31d399..f1b6dd7ac11f1c23c3655589e4b55b8648956b0c 100644 (file)
@@ -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 53212fe449fe3c49b95d83fcd634314dacea9cfe..748da55fafe25ccfdd3cdfdcfff18c73209befef 100644 (file)
@@ -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 c6f235c585a7231a323337559ba59b3f023408de..37c3e7f3b47252be3b30334e0a5f1f692cdaaa34 100644 (file)
@@ -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
index 15fd020304158d6e624ff6b45c42e2e744e1b9fa..9399da71f8e72a89fb7686e8fd753322f02219bf 100644 (file)
@@ -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
index b5cb48a26ffe7cbd0d26b037b97364551df072ca..911b53b41a89c1ca3bfc23f93fc5ef43e7c246b1 100644 (file)
@@ -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}},