This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] opcodes/


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4fff86c517abb5ba454befe0ec0f284f720dde00

commit 4fff86c517abb5ba454befe0ec0f284f720dde00
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Mon Apr 27 11:06:54 2015 -0500

    opcodes/
    
    	* 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.

Diff:
---
 gas/testsuite/ChangeLog        |  12 +++
 gas/testsuite/gas/ppc/476.d    |   8 +-
 gas/testsuite/gas/ppc/a2.d     |   4 +-
 gas/testsuite/gas/ppc/a2.s     |   8 +-
 gas/testsuite/gas/ppc/booke.d  |   2 -
 gas/testsuite/gas/ppc/booke.s  |   2 -
 gas/testsuite/gas/ppc/power7.d | 216 +++++++++++++++++++----------------------
 gas/testsuite/gas/ppc/power7.s |  12 ---
 opcodes/ChangeLog              |  14 +++
 opcodes/ppc-opc.c              |  32 +++---
 10 files changed, 158 insertions(+), 152 deletions(-)

diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index ca8f159..afa8fd0 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -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.
diff --git a/gas/testsuite/gas/ppc/476.d b/gas/testsuite/gas/ppc/476.d
index e59e2e9..253323c 100644
--- a/gas/testsuite/gas/ppc/476.d
+++ b/gas/testsuite/gas/ppc/476.d
@@ -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
diff --git a/gas/testsuite/gas/ppc/a2.d b/gas/testsuite/gas/ppc/a2.d
index a743402..700c665 100644
--- a/gas/testsuite/gas/ppc/a2.d
+++ b/gas/testsuite/gas/ppc/a2.d
@@ -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
diff --git a/gas/testsuite/gas/ppc/a2.s b/gas/testsuite/gas/ppc/a2.s
index bcab185..7d0ddc7 100644
--- a/gas/testsuite/gas/ppc/a2.s
+++ b/gas/testsuite/gas/ppc/a2.s
@@ -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
diff --git a/gas/testsuite/gas/ppc/booke.d b/gas/testsuite/gas/ppc/booke.d
index c427141..26bbdce 100644
--- a/gas/testsuite/gas/ppc/booke.d
+++ b/gas/testsuite/gas/ppc/booke.d
@@ -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
diff --git a/gas/testsuite/gas/ppc/booke.s b/gas/testsuite/gas/ppc/booke.s
index 3947c61..7c8b1ff 100644
--- a/gas/testsuite/gas/ppc/booke.s
+++ b/gas/testsuite/gas/ppc/booke.s
@@ -38,5 +38,3 @@ branch_target_2:
 	mtsprg7 0
 
 	dcbt 5,6
-	dcbt 0,5,6
-	dcbt 8,5,6
diff --git a/gas/testsuite/gas/ppc/power7.d b/gas/testsuite/gas/ppc/power7.d
index 602da4b..bed98ce 100644
--- a/gas/testsuite/gas/ppc/power7.d
+++ b/gas/testsuite/gas/ppc/power7.d
@@ -7,118 +7,106 @@
 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
diff --git a/gas/testsuite/gas/ppc/power7.s b/gas/testsuite/gas/ppc/power7.s
index 46518d4..e76884e 100644
--- a/gas/testsuite/gas/ppc/power7.s
+++ b/gas/testsuite/gas/ppc/power7.s
@@ -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
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 48886f6..e42b545 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -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.
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 060223f..afd8382 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -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)
+
+
 
 /* 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}},


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]