opcodes/
authorPeter Bergner <bergner@vnet.ibm.com>
Mon, 27 Apr 2015 16:06:54 +0000 (11:06 -0500)
committerPeter Bergner <bergner@vnet.ibm.com>
Mon, 27 Apr 2015 16:06:54 +0000 (11:06 -0500)
* ppc-opc.c (DCBT_EO): New define.
(powerpc_opcodes) <lbarx>: Enable for POWER8 and later.
<lharx>: Likewise.
<stbcx.>: Likewise.
<sthcx.>: Likewise.
<waitrsv>: Do not enable for POWER7 and later.
<waitimpl>: Likewise.
<dcbt>: Default to the two operand form of the instruction for all
"old" cpus.  For "new" cpus, use the operand ordering that matches
whether the cpu is server or embedded.
<dcbtst>: Likewise.

gas/testsuite/

* gas/ppc/a2.s: Fixup test case due to dcbt/dcbtst embedded operand
ordering change.
* gas/ppc/a2.d: Likewise.
* gas/ppc/476.d: Likewise.
* gas/ppc/booke.s: Remove invalid 3 operand dcbt tests.
* gas/ppc/booke.d: Likewise.
* gas/ppc/power7.s: Remove lbarx, lharx, stbcx., sthcx., waitrsv
and waitimpl tests.
* gas/ppc/power7.d: Likewise.

gas/testsuite/ChangeLog
gas/testsuite/gas/ppc/476.d
gas/testsuite/gas/ppc/a2.d
gas/testsuite/gas/ppc/a2.s
gas/testsuite/gas/ppc/booke.d
gas/testsuite/gas/ppc/booke.s
gas/testsuite/gas/ppc/power7.d
gas/testsuite/gas/ppc/power7.s
opcodes/ChangeLog
opcodes/ppc-opc.c

index ca8f1594b905bdc9f11ee9d74602e1d8be0f33a3..afa8fd0c388ceac9e82e3f64e029da9dfac23682 100644 (file)
@@ -1,3 +1,15 @@
+2015-04-27  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * gas/ppc/a2.s: Fixup test case due to dcbt/dcbtst embedded operand
+       ordering change.
+       * gas/ppc/a2.d: Likewise.
+       * gas/ppc/476.d: Likewise.
+       * gas/ppc/booke.s: Remove invalid 3 operand dcbt tests.
+       * gas/ppc/booke.d: Likewise.
+       * gas/ppc/power7.s: Remove lbarx, lharx, stbcx., sthcx., waitrsv
+       and waitimpl tests.
+       * gas/ppc/power7.d: Likewise.
+
 2015-04-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
 
        * doc/as.texinfo: Document Tag_GNU_S390_ABI_Vector.
index e59e2e99313d1504c02a8c464fd902cd37924181..253323c3c7e9d8b1543a7b018a094792e9bb7ea3 100644 (file)
@@ -90,13 +90,13 @@ Disassembly of section \.text:
  140:  (7c 06 3b ac|ac 3b 06 7c)       dcbi    r6,r7
  144:  (7c 85 33 0c|0c 33 85 7c)       dcblc   4,r5,r6
  148:  (7c 06 38 6c|6c 38 06 7c)       dcbst   r6,r7
- 14c:  (7c c0 2a 2c|2c 2a c0 7c)       dcbt    0,r5,6
+ 14c:  (7c 05 32 2c|2c 32 05 7c)       dcbt    r5,r6
  150:  (7c 05 32 2c|2c 32 05 7c)       dcbt    r5,r6
- 154:  (7c c8 2a 2c|2c 2a c8 7c)       dcbt    r8,r5,6
+ 154:  (7d 05 32 2c|2c 32 05 7d)       dcbt    8,r5,r6
  158:  (7c e8 49 4c|4c 49 e8 7c)       dcbtls  7,r8,r9
- 15c:  (7c e0 31 ec|ec 31 e0 7c)       dcbtst  0,r6,7
+ 15c:  (7c 06 39 ec|ec 39 06 7c)       dcbtst  r6,r7
  160:  (7c 06 39 ec|ec 39 06 7c)       dcbtst  r6,r7
- 164:  (7c e9 31 ec|ec 31 e9 7c)       dcbtst  r9,r6,7
+ 164:  (7d 26 39 ec|ec 39 26 7d)       dcbtst  9,r6,r7
  168:  (7d 4b 61 0c|0c 61 4b 7d)       dcbtstls 10,r11,r12
  16c:  (7c 01 17 ec|ec 17 01 7c)       dcbz    r1,r2
  170:  (7c 05 37 ec|ec 37 05 7c)       dcbz    r5,r6
index a74340205930b2a8fb490595b52097bf18e11a17..700c66578d37f78d522e50a9f71f0a029874c381 100644 (file)
@@ -117,12 +117,12 @@ Disassembly of section \.text:
  164:  (7c 0a 58 6c|6c 58 0a 7c)       dcbst   r10,r11
  168:  (7c 0a 58 7e|7e 58 0a 7c)       dcbstep r10,r11
  16c:  (7c 0a 5a 2c|2c 5a 0a 7c)       dcbt    r10,r11
- 170:  (7c 2a 5a 2c|2c 5a 2a 7c)       dcbt    r10,r11,1
+ 170:  (7c 2a 5a 2c|2c 5a 2a 7c)       dcbt    1,r10,r11
  174:  (7d 4b 62 7e|7e 62 4b 7d)       dcbtep  r10,r11,r12
  178:  (7c 0a 59 4c|4c 59 0a 7c)       dcbtls  r10,r11
  17c:  (7c 2a 59 4c|4c 59 2a 7c)       dcbtls  1,r10,r11
  180:  (7c 0a 59 ec|ec 59 0a 7c)       dcbtst  r10,r11
- 184:  (7c 2a 59 ec|ec 59 2a 7c)       dcbtst  r10,r11,1
+ 184:  (7c 2a 59 ec|ec 59 2a 7c)       dcbtst  1,r10,r11
  188:  (7d 4b 61 fe|fe 61 4b 7d)       dcbtstep r10,r11,r12
  18c:  (7c 0a 59 0c|0c 59 0a 7c)       dcbtstls r10,r11
  190:  (7c 2a 59 0c|0c 59 2a 7c)       dcbtstls 1,r10,r11
index bcab1853f75398ca4aed736f98634a23ed6aa561..7d0ddc77561b8046c75e34d3805a0e62e7957270 100644 (file)
@@ -91,13 +91,13 @@ start:
        dcblc   1,10,11
        dcbst   10,11
        dcbstep 10,11
-       dcbt    10,11,0
-       dcbt    10,11,1
+       dcbt    0,10,11
+       dcbt    1,10,11
        dcbtep  10,11,12
        dcbtls  0,10,11
        dcbtls  1,10,11
-       dcbtst  10,11,0
-       dcbtst  10,11,1
+       dcbtst  0,10,11
+       dcbtst  1,10,11
        dcbtstep 10,11,12
        dcbtstls 0,10,11
        dcbtstls 1,10,11
index c427141b919f4e02fb51ddf3e07eee3faab1bc32..26bbdce26e36f133bd26a5f97406392f37677886 100644 (file)
@@ -39,5 +39,3 @@ Disassembly of section \.text:
   6c:  (7c 17 43 a6|a6 43 17 7c)       mtsprg  7,r0
   70:  (7c 17 43 a6|a6 43 17 7c)       mtsprg  7,r0
   74:  (7c 05 32 2c|2c 32 05 7c)       dcbt    r5,r6
-  78:  (7c 05 32 2c|2c 32 05 7c)       dcbt    r5,r6
-  7c:  (7d 05 32 2c|2c 32 05 7d)       dcbt    8,r5,r6
index 3947c61ee9d89543718bf75e3128551e84e5683e..7c8b1ffe74b639eb8502852bc8f9512b080e779b 100644 (file)
@@ -38,5 +38,3 @@ branch_target_2:
        mtsprg7 0
 
        dcbt 5,6
-       dcbt 0,5,6
-       dcbt 8,5,6
index 602da4b469c8f70f5f1f7c49ef46e16f8afb9f59..bed98ceedbdb2a81697ecab6581467688c2559a1 100644 (file)
 Disassembly of section \.text:
 
 0+00 <power7>:
-   0:  (7c 64 2e 98|98 2e 64 7c)       lxvd2x  vs3,r4,r5
-   4:  (7d 64 2e 99|99 2e 64 7d)       lxvd2x  vs43,r4,r5
-   8:  (7c 64 2f 98|98 2f 64 7c)       stxvd2x vs3,r4,r5
-   c:  (7d 64 2f 99|99 2f 64 7d)       stxvd2x vs43,r4,r5
-  10:  (f0 64 28 50|50 28 64 f0)       xxmrghd vs3,vs4,vs5
-  14:  (f1 6c 68 57|57 68 6c f1)       xxmrghd vs43,vs44,vs45
-  18:  (f0 64 2b 50|50 2b 64 f0)       xxmrgld vs3,vs4,vs5
-  1c:  (f1 6c 6b 57|57 6b 6c f1)       xxmrgld vs43,vs44,vs45
-  20:  (f0 64 28 50|50 28 64 f0)       xxmrghd vs3,vs4,vs5
-  24:  (f1 6c 68 57|57 68 6c f1)       xxmrghd vs43,vs44,vs45
-  28:  (f0 64 2b 50|50 2b 64 f0)       xxmrgld vs3,vs4,vs5
-  2c:  (f1 6c 6b 57|57 6b 6c f1)       xxmrgld vs43,vs44,vs45
-  30:  (f0 64 29 50|50 29 64 f0)       xxpermdi vs3,vs4,vs5,1
-  34:  (f1 6c 69 57|57 69 6c f1)       xxpermdi vs43,vs44,vs45,1
-  38:  (f0 64 2a 50|50 2a 64 f0)       xxpermdi vs3,vs4,vs5,2
-  3c:  (f1 6c 6a 57|57 6a 6c f1)       xxpermdi vs43,vs44,vs45,2
-  40:  (f0 64 27 80|80 27 64 f0)       xvmovdp vs3,vs4
-  44:  (f1 6c 67 87|87 67 6c f1)       xvmovdp vs43,vs44
-  48:  (f0 64 27 80|80 27 64 f0)       xvmovdp vs3,vs4
-  4c:  (f1 6c 67 87|87 67 6c f1)       xvmovdp vs43,vs44
-  50:  (f0 64 2f 80|80 2f 64 f0)       xvcpsgndp vs3,vs4,vs5
-  54:  (f1 6c 6f 87|87 6f 6c f1)       xvcpsgndp vs43,vs44,vs45
-  58:  (7c 00 00 7c|7c 00 00 7c)       wait    
-  5c:  (7c 00 00 7c|7c 00 00 7c)       wait    
-  60:  (7c 20 00 7c|7c 00 20 7c)       waitrsv
-  64:  (7c 20 00 7c|7c 00 20 7c)       waitrsv
-  68:  (7c 40 00 7c|7c 00 40 7c)       waitimpl
-  6c:  (7c 40 00 7c|7c 00 40 7c)       waitimpl
-  70:  (4c 00 03 24|24 03 00 4c)       doze
-  74:  (4c 00 03 64|64 03 00 4c)       nap
-  78:  (4c 00 03 a4|a4 03 00 4c)       sleep
-  7c:  (4c 00 03 e4|e4 03 00 4c)       rvwinkle
-  80:  (7c 83 01 34|34 01 83 7c)       prtyw   r3,r4
-  84:  (7d cd 01 74|74 01 cd 7d)       prtyd   r13,r14
-  88:  (7d 5c 02 a6|a6 02 5c 7d)       mfcfar  r10
-  8c:  (7d 7c 03 a6|a6 03 7c 7d)       mtcfar  r11
-  90:  (7c 83 2b f8|f8 2b 83 7c)       cmpb    r3,r4,r5
-  94:  (7d 4b 66 2a|2a 66 4b 7d)       lwzcix  r10,r11,r12
-  98:  (ee 11 90 04|04 90 11 ee)       dadd    f16,f17,f18
-  9c:  (fe 96 c0 04|04 c0 96 fe)       daddq   f20,f22,f24
-  a0:  (7c 60 06 6c|6c 06 60 7c)       dss     3
-  a4:  (7e 00 06 6c|6c 06 00 7e)       dssall
-  a8:  (7c 25 22 ac|ac 22 25 7c)       dst     r5,r4,1
-  ac:  (7e 08 3a ac|ac 3a 08 7e)       dstt    r8,r7,0
-  b0:  (7c 65 32 ec|ec 32 65 7c)       dstst   r5,r6,3
-  b4:  (7e 44 2a ec|ec 2a 44 7e)       dststt  r4,r5,2
-  b8:  (7d 4b 63 56|56 63 4b 7d)       divwe   r10,r11,r12
-  bc:  (7d 6c 6b 57|57 6b 6c 7d)       divwe\.  r11,r12,r13
-  c0:  (7d 8d 77 56|56 77 8d 7d)       divweo  r12,r13,r14
-  c4:  (7d ae 7f 57|57 7f ae 7d)       divweo\. r13,r14,r15
-  c8:  (7d 4b 63 16|16 63 4b 7d)       divweu  r10,r11,r12
-  cc:  (7d 6c 6b 17|17 6b 6c 7d)       divweu\. r11,r12,r13
-  d0:  (7d 8d 77 16|16 77 8d 7d)       divweuo r12,r13,r14
-  d4:  (7d ae 7f 17|17 7f ae 7d)       divweuo\. r13,r14,r15
-  d8:  (7e 27 d9 f8|f8 d9 27 7e)       bpermd  r7,r17,r27
-  dc:  (7e 8a 02 f4|f4 02 8a 7e)       popcntw r10,r20
-  e0:  (7e 8a 03 f4|f4 03 8a 7e)       popcntd r10,r20
-  e4:  (7e 95 b4 28|28 b4 95 7e)       ldbrx   r20,r21,r22
-  e8:  (7e 95 b5 28|28 b5 95 7e)       stdbrx  r20,r21,r22
-  ec:  (7d 40 56 ee|ee 56 40 7d)       lfiwzx  f10,0,r10
-  f0:  (7d 49 56 ee|ee 56 49 7d)       lfiwzx  f10,r9,r10
-  f4:  (ec 80 2e 9c|9c 2e 80 ec)       fcfids  f4,f5
-  f8:  (ec 80 2e 9d|9d 2e 80 ec)       fcfids\. f4,f5
-  fc:  (ec 80 2f 9c|9c 2f 80 ec)       fcfidus f4,f5
- 100:  (ec 80 2f 9d|9d 2f 80 ec)       fcfidus\. f4,f5
- 104:  (fc 80 29 1c|1c 29 80 fc)       fctiwu  f4,f5
- 108:  (fc 80 29 1d|1d 29 80 fc)       fctiwu\. f4,f5
- 10c:  (fc 80 29 1e|1e 29 80 fc)       fctiwuz f4,f5
- 110:  (fc 80 29 1f|1f 29 80 fc)       fctiwuz\. f4,f5
- 114:  (fc 80 2f 5c|5c 2f 80 fc)       fctidu  f4,f5
- 118:  (fc 80 2f 5d|5d 2f 80 fc)       fctidu\. f4,f5
- 11c:  (fc 80 2f 5e|5e 2f 80 fc)       fctiduz f4,f5
- 120:  (fc 80 2f 5f|5f 2f 80 fc)       fctiduz\. f4,f5
- 124:  (fc 80 2f 9c|9c 2f 80 fc)       fcfidu  f4,f5
- 128:  (fc 80 2f 9d|9d 2f 80 fc)       fcfidu\. f4,f5
- 12c:  (fc 0a 59 00|00 59 0a fc)       ftdiv   cr0,f10,f11
- 130:  (ff 8a 59 00|00 59 8a ff)       ftdiv   cr7,f10,f11
- 134:  (fc 00 51 40|40 51 00 fc)       ftsqrt  cr0,f10
- 138:  (ff 80 51 40|40 51 80 ff)       ftsqrt  cr7,f10
- 13c:  (7e 08 4a 2c|2c 4a 08 7e)       dcbtt   r8,r9
- 140:  (7e 08 49 ec|ec 49 08 7e)       dcbtstt r8,r9
- 144:  (ed 40 66 44|44 66 40 ed)       dcffix  f10,f12
- 148:  (ee 80 b6 45|45 b6 80 ee)       dcffix\. f20,f22
- 14c:  (7d 4b 60 68|68 60 4b 7d)       lbarx   r10,r11,r12
- 150:  (7d 4b 60 68|68 60 4b 7d)       lbarx   r10,r11,r12
- 154:  (7d 4b 60 69|69 60 4b 7d)       lbarx   r10,r11,r12,1
- 158:  (7e 95 b0 e8|e8 b0 95 7e)       lharx   r20,r21,r22
- 15c:  (7e 95 b0 e8|e8 b0 95 7e)       lharx   r20,r21,r22
- 160:  (7e 95 b0 e9|e9 b0 95 7e)       lharx   r20,r21,r22,1
- 164:  (7d 4b 65 6d|6d 65 4b 7d)       stbcx\.  r10,r11,r12
- 168:  (7d 4b 65 ad|ad 65 4b 7d)       sthcx\.  r10,r11,r12
- 16c:  (fd c0 78 30|30 78 c0 fd)       fre     f14,f15
- 170:  (fd c0 78 31|31 78 c0 fd)       fre\.    f14,f15
- 174:  (ed c0 78 30|30 78 c0 ed)       fres    f14,f15
- 178:  (ed c0 78 31|31 78 c0 ed)       fres\.   f14,f15
- 17c:  (fd c0 78 34|34 78 c0 fd)       frsqrte f14,f15
- 180:  (fd c0 78 35|35 78 c0 fd)       frsqrte\. f14,f15
- 184:  (ed c0 78 34|34 78 c0 ed)       frsqrtes f14,f15
- 188:  (ed c0 78 35|35 78 c0 ed)       frsqrtes\. f14,f15
- 18c:  (7c 43 27 1e|1e 27 43 7c)       isel    r2,r3,r4,28
- 190:  (60 42 00 00|00 00 42 60)       ori     r2,r2,0
- 194:  (60 00 00 00|00 00 00 60)       nop
- 198:  (60 00 00 00|00 00 00 60)       nop
- 19c:  (60 42 00 00|00 00 42 60)       ori     r2,r2,0
- 1a0:  (7f 7b db 78|78 db 7b 7f)       yield
- 1a4:  (7f 7b db 78|78 db 7b 7f)       yield
- 1a8:  (7f bd eb 78|78 eb bd 7f)       mdoio
- 1ac:  (7f bd eb 78|78 eb bd 7f)       mdoio
- 1b0:  (7f de f3 78|78 f3 de 7f)       mdoom
- 1b4:  (7f de f3 78|78 f3 de 7f)       mdoom
- 1b8:  (7d 40 e2 a6|a6 e2 40 7d)       mfppr   r10
- 1bc:  (7d 62 e2 a6|a6 e2 62 7d)       mfppr32 r11
- 1c0:  (7d 80 e3 a6|a6 e3 80 7d)       mtppr   r12
- 1c4:  (7d a2 e3 a6|a6 e3 a2 7d)       mtppr32 r13
+.*:    (7c 64 2e 98|98 2e 64 7c)       lxvd2x  vs3,r4,r5
+.*:    (7d 64 2e 99|99 2e 64 7d)       lxvd2x  vs43,r4,r5
+.*:    (7c 64 2f 98|98 2f 64 7c)       stxvd2x vs3,r4,r5
+.*:    (7d 64 2f 99|99 2f 64 7d)       stxvd2x vs43,r4,r5
+.*:    (f0 64 28 50|50 28 64 f0)       xxmrghd vs3,vs4,vs5
+.*:    (f1 6c 68 57|57 68 6c f1)       xxmrghd vs43,vs44,vs45
+.*:    (f0 64 2b 50|50 2b 64 f0)       xxmrgld vs3,vs4,vs5
+.*:    (f1 6c 6b 57|57 6b 6c f1)       xxmrgld vs43,vs44,vs45
+.*:    (f0 64 28 50|50 28 64 f0)       xxmrghd vs3,vs4,vs5
+.*:    (f1 6c 68 57|57 68 6c f1)       xxmrghd vs43,vs44,vs45
+.*:    (f0 64 2b 50|50 2b 64 f0)       xxmrgld vs3,vs4,vs5
+.*:    (f1 6c 6b 57|57 6b 6c f1)       xxmrgld vs43,vs44,vs45
+.*:    (f0 64 29 50|50 29 64 f0)       xxpermdi vs3,vs4,vs5,1
+.*:    (f1 6c 69 57|57 69 6c f1)       xxpermdi vs43,vs44,vs45,1
+.*:    (f0 64 2a 50|50 2a 64 f0)       xxpermdi vs3,vs4,vs5,2
+.*:    (f1 6c 6a 57|57 6a 6c f1)       xxpermdi vs43,vs44,vs45,2
+.*:    (f0 64 27 80|80 27 64 f0)       xvmovdp vs3,vs4
+.*:    (f1 6c 67 87|87 67 6c f1)       xvmovdp vs43,vs44
+.*:    (f0 64 27 80|80 27 64 f0)       xvmovdp vs3,vs4
+.*:    (f1 6c 67 87|87 67 6c f1)       xvmovdp vs43,vs44
+.*:    (f0 64 2f 80|80 2f 64 f0)       xvcpsgndp vs3,vs4,vs5
+.*:    (f1 6c 6f 87|87 6f 6c f1)       xvcpsgndp vs43,vs44,vs45
+.*:    (7c 00 00 7c|7c 00 00 7c)       wait    
+.*:    (7c 00 00 7c|7c 00 00 7c)       wait    
+.*:    (4c 00 03 24|24 03 00 4c)       doze
+.*:    (4c 00 03 64|64 03 00 4c)       nap
+.*:    (4c 00 03 a4|a4 03 00 4c)       sleep
+.*:    (4c 00 03 e4|e4 03 00 4c)       rvwinkle
+.*:    (7c 83 01 34|34 01 83 7c)       prtyw   r3,r4
+.*:    (7d cd 01 74|74 01 cd 7d)       prtyd   r13,r14
+.*:    (7d 5c 02 a6|a6 02 5c 7d)       mfcfar  r10
+.*:    (7d 7c 03 a6|a6 03 7c 7d)       mtcfar  r11
+.*:    (7c 83 2b f8|f8 2b 83 7c)       cmpb    r3,r4,r5
+.*:    (7d 4b 66 2a|2a 66 4b 7d)       lwzcix  r10,r11,r12
+.*:    (ee 11 90 04|04 90 11 ee)       dadd    f16,f17,f18
+.*:    (fe 96 c0 04|04 c0 96 fe)       daddq   f20,f22,f24
+.*:    (7c 60 06 6c|6c 06 60 7c)       dss     3
+.*:    (7e 00 06 6c|6c 06 00 7e)       dssall
+.*:    (7c 25 22 ac|ac 22 25 7c)       dst     r5,r4,1
+.*:    (7e 08 3a ac|ac 3a 08 7e)       dstt    r8,r7,0
+.*:    (7c 65 32 ec|ec 32 65 7c)       dstst   r5,r6,3
+.*:    (7e 44 2a ec|ec 2a 44 7e)       dststt  r4,r5,2
+.*:    (7d 4b 63 56|56 63 4b 7d)       divwe   r10,r11,r12
+.*:    (7d 6c 6b 57|57 6b 6c 7d)       divwe\.  r11,r12,r13
+.*:    (7d 8d 77 56|56 77 8d 7d)       divweo  r12,r13,r14
+.*:    (7d ae 7f 57|57 7f ae 7d)       divweo\. r13,r14,r15
+.*:    (7d 4b 63 16|16 63 4b 7d)       divweu  r10,r11,r12
+.*:    (7d 6c 6b 17|17 6b 6c 7d)       divweu\. r11,r12,r13
+.*:    (7d 8d 77 16|16 77 8d 7d)       divweuo r12,r13,r14
+.*:    (7d ae 7f 17|17 7f ae 7d)       divweuo\. r13,r14,r15
+.*:    (7e 27 d9 f8|f8 d9 27 7e)       bpermd  r7,r17,r27
+.*:    (7e 8a 02 f4|f4 02 8a 7e)       popcntw r10,r20
+.*:    (7e 8a 03 f4|f4 03 8a 7e)       popcntd r10,r20
+.*:    (7e 95 b4 28|28 b4 95 7e)       ldbrx   r20,r21,r22
+.*:    (7e 95 b5 28|28 b5 95 7e)       stdbrx  r20,r21,r22
+.*:    (7d 40 56 ee|ee 56 40 7d)       lfiwzx  f10,0,r10
+.*:    (7d 49 56 ee|ee 56 49 7d)       lfiwzx  f10,r9,r10
+.*:    (ec 80 2e 9c|9c 2e 80 ec)       fcfids  f4,f5
+.*:    (ec 80 2e 9d|9d 2e 80 ec)       fcfids\. f4,f5
+.*:    (ec 80 2f 9c|9c 2f 80 ec)       fcfidus f4,f5
+.*:    (ec 80 2f 9d|9d 2f 80 ec)       fcfidus\. f4,f5
+.*:    (fc 80 29 1c|1c 29 80 fc)       fctiwu  f4,f5
+.*:    (fc 80 29 1d|1d 29 80 fc)       fctiwu\. f4,f5
+.*:    (fc 80 29 1e|1e 29 80 fc)       fctiwuz f4,f5
+.*:    (fc 80 29 1f|1f 29 80 fc)       fctiwuz\. f4,f5
+.*:    (fc 80 2f 5c|5c 2f 80 fc)       fctidu  f4,f5
+.*:    (fc 80 2f 5d|5d 2f 80 fc)       fctidu\. f4,f5
+.*:    (fc 80 2f 5e|5e 2f 80 fc)       fctiduz f4,f5
+.*:    (fc 80 2f 5f|5f 2f 80 fc)       fctiduz\. f4,f5
+.*:    (fc 80 2f 9c|9c 2f 80 fc)       fcfidu  f4,f5
+.*:    (fc 80 2f 9d|9d 2f 80 fc)       fcfidu\. f4,f5
+.*:    (fc 0a 59 00|00 59 0a fc)       ftdiv   cr0,f10,f11
+.*:    (ff 8a 59 00|00 59 8a ff)       ftdiv   cr7,f10,f11
+.*:    (fc 00 51 40|40 51 00 fc)       ftsqrt  cr0,f10
+.*:    (ff 80 51 40|40 51 80 ff)       ftsqrt  cr7,f10
+.*:    (7e 08 4a 2c|2c 4a 08 7e)       dcbtt   r8,r9
+.*:    (7e 08 49 ec|ec 49 08 7e)       dcbtstt r8,r9
+.*:    (ed 40 66 44|44 66 40 ed)       dcffix  f10,f12
+.*:    (ee 80 b6 45|45 b6 80 ee)       dcffix\. f20,f22
+.*:    (fd c0 78 30|30 78 c0 fd)       fre     f14,f15
+.*:    (fd c0 78 31|31 78 c0 fd)       fre\.    f14,f15
+.*:    (ed c0 78 30|30 78 c0 ed)       fres    f14,f15
+.*:    (ed c0 78 31|31 78 c0 ed)       fres\.   f14,f15
+.*:    (fd c0 78 34|34 78 c0 fd)       frsqrte f14,f15
+.*:    (fd c0 78 35|35 78 c0 fd)       frsqrte\. f14,f15
+.*:    (ed c0 78 34|34 78 c0 ed)       frsqrtes f14,f15
+.*:    (ed c0 78 35|35 78 c0 ed)       frsqrtes\. f14,f15
+.*:    (7c 43 27 1e|1e 27 43 7c)       isel    r2,r3,r4,28
+.*:    (60 42 00 00|00 00 42 60)       ori     r2,r2,0
+.*:    (60 00 00 00|00 00 00 60)       nop
+.*:    (60 00 00 00|00 00 00 60)       nop
+.*:    (60 42 00 00|00 00 42 60)       ori     r2,r2,0
+.*:    (7f 7b db 78|78 db 7b 7f)       yield
+.*:    (7f 7b db 78|78 db 7b 7f)       yield
+.*:    (7f bd eb 78|78 eb bd 7f)       mdoio
+.*:    (7f bd eb 78|78 eb bd 7f)       mdoio
+.*:    (7f de f3 78|78 f3 de 7f)       mdoom
+.*:    (7f de f3 78|78 f3 de 7f)       mdoom
+.*:    (7d 40 e2 a6|a6 e2 40 7d)       mfppr   r10
+.*:    (7d 62 e2 a6|a6 e2 62 7d)       mfppr32 r11
+.*:    (7d 80 e3 a6|a6 e3 80 7d)       mtppr   r12
+.*:    (7d a2 e3 a6|a6 e3 a2 7d)       mtppr32 r13
 #pass
index 46518d45441c5347d64bec487e0d4bc16158a5bd..e76884eaf57ab88de55419199610d4ee76d23b7a 100644 (file)
@@ -24,10 +24,6 @@ power7:
        xvcpsgndp 43,44,45
        wait
        wait 0
-       waitrsv
-       wait 1
-       waitimpl
-       wait 2
        doze
        nap
        sleep
@@ -83,14 +79,6 @@ power7:
        dcbtstt   8,9
        dcffix    10,12
        dcffix.   20,22
-       lbarx     10,11,12
-       lbarx     10,11,12,0
-       lbarx     10,11,12,1
-       lharx     20,21,22
-       lharx     20,21,22,0
-       lharx     20,21,22,1
-       stbcx.    10,11,12
-       sthcx.    10,11,12
        fre       14,15
        fre.      14,15
        fres      14,15
index 48886f67084006047643dc82de92a53ac79232c3..e42b54588cb116dbefebeb6e45239befdf3320c3 100644 (file)
@@ -1,3 +1,17 @@
+2015-04-27  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * ppc-opc.c (DCBT_EO): New define.
+       (powerpc_opcodes) <lbarx>: Enable for POWER8 and later.
+       <lharx>: Likewise.
+       <stbcx.>: Likewise.
+       <sthcx.>: Likewise.
+       <waitrsv>: Do not enable for POWER7 and later.
+       <waitimpl>: Likewise.
+       <dcbt>: Default to the two operand form of the instruction for all
+       "old" cpus.  For "new" cpus, use the operand ordering that matches
+       whether the cpu is server or embedded.
+       <dcbtst>: Likewise.
+
 2015-04-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
 
        * s390-opc.c: New instruction type VV0UU2.
index 060223f92cfc34ad45322abb93d30b10e12791c8..afd8382eb888d8526e943810ebabf5dc21ce614b 100644 (file)
@@ -2756,6 +2756,12 @@ extract_vleil (unsigned long insn,
 #define E6500  PPC_OPCODE_E6500
 #define PPCVLE  PPC_OPCODE_VLE
 #define PPCHTM  PPC_OPCODE_HTM
+/* The list of embedded processors that use the embedded operand ordering
+   for the 3 operand dcbt and dcbtst instructions.  */
+#define DCBT_EO        (PPC_OPCODE_E500 | PPC_OPCODE_E500MC | PPC_OPCODE_476 \
+                | PPC_OPCODE_A2 | PPC_OPCODE_VLE)
+
+
 \f
 /* The opcode table.
 
@@ -4463,7 +4469,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"mfvrd",      X(31,51)|1,     XX1RB_MASK|1, PPCVSX2,  PPCNONE,        {RA, VS}},
 {"eratilx",    X(31,51),       X_MASK,      PPCA2,     PPCNONE,        {ERAT_T, RA, RB}},
 
-{"lbarx",      X(31,52),       XEH_MASK,    POWER7|PPCVLE, PPCNONE,    {RT, RA0, RB, EH}},
+{"lbarx",      X(31,52),       XEH_MASK,    POWER8|PPCVLE, PPCNONE,    {RT, RA0, RB, EH}},
 
 {"ldux",       X(31,53),       X_MASK,      PPC64|PPCVLE, PPCNONE,     {RT, RAL, RB}},
  
@@ -4478,8 +4484,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"andc",       XRC(31,60,0),   X_MASK,      COM|PPCVLE, PPCNONE,       {RA, RS, RB}},
 {"andc.",      XRC(31,60,1),   X_MASK,      COM|PPCVLE, PPCNONE,       {RA, RS, RB}},
 
-{"waitrsv",    X(31,62)|(1<<21), 0xffffffff, POWER7|E500MC|PPCA2, PPCNONE, {0}},
-{"waitimpl",   X(31,62)|(2<<21), 0xffffffff, POWER7|E500MC|PPCA2, PPCNONE, {0}},
+{"waitrsv",    X(31,62)|(1<<21), 0xffffffff, E500MC|PPCA2, PPCNONE,    {0}},
+{"waitimpl",   X(31,62)|(2<<21), 0xffffffff, E500MC|PPCA2, PPCNONE,    {0}},
 {"wait",       X(31,62),       XWC_MASK,    POWER7|E500MC|PPCA2|PPCVLE, PPCNONE, {WC}},
  
 {"dcbstep",    XRT(31,63,0),   XRT_MASK,    E500MC|PPCA2|PPCVLE, PPCNONE, {RA0, RB}},
@@ -4543,7 +4549,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"mfvrwz",     X(31,115)|1,    XX1RB_MASK|1, PPCVSX2,  PPCNONE,        {RA, VS}},
 {"mfvsrwz",    X(31,115),      XX1RB_MASK,   PPCVSX2,  PPCNONE,        {RA, XS6}},
 
-{"lharx",      X(31,116),      XEH_MASK,    POWER7|PPCVLE, PPCNONE,    {RT, RA0, RB, EH}},
+{"lharx",      X(31,116),      XEH_MASK,    POWER8|PPCVLE, PPCNONE,    {RT, RA0, RB, EH}},
 
 {"clf",                X(31,118),      XTO_MASK,    POWER,     PPCNONE,        {RA, RB}},
 
@@ -4711,9 +4717,10 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"mtvsrwz",    X(31,243),      XX1RB_MASK,   PPCVSX2,  PPCNONE,        {XT6, RA}},
 
 {"dcbtstt",    XRT(31,246,0x10), XRT_MASK,  POWER7,    PPCNONE,        {RA0, RB}},
-{"dcbtst",     X(31,246),      X_MASK,      POWER4,    PPCNONE,        {RA0, RB, CT}},
-{"dcbtst",     X(31,246),      X_MASK,      PPC|PPCVLE, POWER4,        {CT, RA0, RB}},
+{"dcbtst",     X(31,246),      X_MASK,      POWER4,    DCBT_EO,        {RA0, RB, CT}},
+{"dcbtst",     X(31,246),      X_MASK,      DCBT_EO,   PPCNONE,        {CT, RA0, RB}},
+{"dcbtst",     X(31,246),      X_MASK,      PPC,       POWER4|DCBT_EO, {RA0, RB}},
+
 {"stbux",      X(31,247),      X_MASK,      COM|PPCVLE, PPCNONE,       {RS, RAS, RB}},
 
 {"slliq",      XRC(31,248,0),  X_MASK,      M601,      PPCNONE,        {RA, RS, SH}},
@@ -4753,9 +4760,10 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"lscbx.",     XRC(31,277,1),  X_MASK,      M601,      PPCNONE,        {RT, RA, RB}},
 
 {"dcbtt",      XRT(31,278,0x10), XRT_MASK,  POWER7,    PPCNONE,        {RA0, RB}},
-{"dcbt",       X(31,278),      X_MASK,      POWER4,    PPCNONE,        {RA0, RB, CT}},
-{"dcbt",       X(31,278),      X_MASK,      PPC|PPCVLE, POWER4,        {CT, RA0, RB}},
+{"dcbt",       X(31,278),      X_MASK,      POWER4,    DCBT_EO,        {RA0, RB, CT}},
+{"dcbt",       X(31,278),      X_MASK,      DCBT_EO,   PPCNONE,        {CT, RA0, RB}},
+{"dcbt",       X(31,278),      X_MASK,      PPC,       POWER4|DCBT_EO, {RA0, RB}},
+
 {"lhzx",       X(31,279),      X_MASK,      COM|PPCVLE, PPCNONE,       {RT, RA0, RB}},
 
 {"cdtbcd",     X(31,282),      XRB_MASK,    POWER6,    PPCNONE,        {RA, RS}},
@@ -5531,7 +5539,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"tendall.",   XRC(31,686,1)|(1<<25), XRTRARB_MASK, PPCHTM, PPCNONE,   {0}},
 {"tend.",      XRC(31,686,1), XRTARARB_MASK, PPCHTM,   PPCNONE,        {HTM_A}},
 
-{"stbcx.",     XRC(31,694,1),  X_MASK,      POWER7,    PPCNONE,        {RS, RA0, RB}},
+{"stbcx.",     XRC(31,694,1),  X_MASK,      POWER8,    PPCNONE,        {RS, RA0, RB}},
 
 {"stfsux",     X(31,695),      X_MASK,      COM,       PPCEFS,         {FRS, RAS, RB}},
 
@@ -5561,7 +5569,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"stswi",      X(31,725),      X_MASK, PPCCOM|PPCVLE,  E500|E500MC,    {RS, RA0, NB}},
 {"stsi",       X(31,725),      X_MASK,      PWRCOM,    PPCNONE,        {RS, RA0, NB}},
 
-{"sthcx.",     XRC(31,726,1),  X_MASK,      POWER7,    PPCNONE,        {RS, RA0, RB}},
+{"sthcx.",     XRC(31,726,1),  X_MASK,      POWER8,    PPCNONE,        {RS, RA0, RB}},
 
 {"stfdx",      X(31,727),      X_MASK,      COM,       PPCEFS,         {FRS, RA0, RB}},