This is the mail archive of the binutils@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]

[PATCH] A few ppc assembler fixes


This patch cleans up a couple of issues with the assembler/disassembler.
First off is that the lbarx, lharx, stbcx., sthcx instructions were phased-in
in the ISA 2.06, but were not actually implemented until POWER8.  In addition,
the waitrsv and waitimpl instructions still haven't been implemented, so
this patch updates their supported "flags" value to reflect reality.

The second part of the patch changes the dcbt and dcbtst to always use
the server operand ordering (like all other instructions) and we only
use the embedded operand ordering when we explicitly are targetting an
embedded processor.  This patch actually caught an error in the 476 and
A2 tests, in that they were accidentally picking up the server ordering
when they shouldn't have.

I'll note that the dcbt/dcbtst change was triggered by some questions
from a LLVM developer who was trying to enable support for dcbt/dcbtst
in LLVM's assembler and they were running into issues with the operand
ordering and which one they should use.  We decided that they should
default to the server ordering like they and binutils does for all
instructions and only use the embedded ordering when explicitly asked for.

This builds and passes make check, ok for trunk?  Do we want this on
the 2.25 branch as well?

Peter


opcodes/

        * ppc-opc.c: (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 server operand ordering for all non-embedded
	targets.  Use the embedded ordering only when explicitly asked.
	<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/power7.s: Remove lbarx, lharx, stbcx., sthcx., waitrsv
	and waitimpl tests.
	* gas/ppc/power7.d: Likewise.


diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 060223f..2df2246 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -4463,7 +4463,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 +4478,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 +4543,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 +4711,9 @@ 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,      PPC,	BOOKE|PPC476|PPCA2|PPCVLE, {RA0, RB, CT}},
+{"dcbtst",	X(31,246),	X_MASK,      BOOKE|PPC476|PPCA2|PPCVLE, PPCNONE, {CT, 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 +4753,9 @@ 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,      PPC,	BOOKE|PPC476|PPCA2|PPCVLE, {RA0, RB, CT}},
+{"dcbt",	X(31,278),	X_MASK,      BOOKE|PPC476|PPCA2|PPCVLE, PPCNONE, {CT, 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 +5531,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 +5561,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}},
 
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/power7.d b/gas/testsuite/gas/ppc/power7.d
index 602da4b..a247afe 100644
--- a/gas/testsuite/gas/ppc/power7.d
+++ b/gas/testsuite/gas/ppc/power7.d
@@ -31,94 +31,82 @@ Disassembly of section \.text:
   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
+  60:	(4c 00 03 24|24 03 00 4c) 	doze
+  64:	(4c 00 03 64|64 03 00 4c) 	nap
+  68:	(4c 00 03 a4|a4 03 00 4c) 	sleep
+  6c:	(4c 00 03 e4|e4 03 00 4c) 	rvwinkle
+  70:	(7c 83 01 34|34 01 83 7c) 	prtyw   r3,r4
+  74:	(7d cd 01 74|74 01 cd 7d) 	prtyd   r13,r14
+  78:	(7d 5c 02 a6|a6 02 5c 7d) 	mfcfar  r10
+  7c:	(7d 7c 03 a6|a6 03 7c 7d) 	mtcfar  r11
+  80:	(7c 83 2b f8|f8 2b 83 7c) 	cmpb    r3,r4,r5
+  84:	(7d 4b 66 2a|2a 66 4b 7d) 	lwzcix  r10,r11,r12
+  88:	(ee 11 90 04|04 90 11 ee) 	dadd    f16,f17,f18
+  8c:	(fe 96 c0 04|04 c0 96 fe) 	daddq   f20,f22,f24
+  90:	(7c 60 06 6c|6c 06 60 7c) 	dss     3
+  94:	(7e 00 06 6c|6c 06 00 7e) 	dssall
+  98:	(7c 25 22 ac|ac 22 25 7c) 	dst     r5,r4,1
+  9c:	(7e 08 3a ac|ac 3a 08 7e) 	dstt    r8,r7,0
+  a0:	(7c 65 32 ec|ec 32 65 7c) 	dstst   r5,r6,3
+  a4:	(7e 44 2a ec|ec 2a 44 7e) 	dststt  r4,r5,2
+  a8:	(7d 4b 63 56|56 63 4b 7d) 	divwe   r10,r11,r12
+  ac:	(7d 6c 6b 57|57 6b 6c 7d) 	divwe\.  r11,r12,r13
+  b0:	(7d 8d 77 56|56 77 8d 7d) 	divweo  r12,r13,r14
+  b4:	(7d ae 7f 57|57 7f ae 7d) 	divweo\. r13,r14,r15
+  b8:	(7d 4b 63 16|16 63 4b 7d) 	divweu  r10,r11,r12
+  bc:	(7d 6c 6b 17|17 6b 6c 7d) 	divweu\. r11,r12,r13
+  c0:	(7d 8d 77 16|16 77 8d 7d) 	divweuo r12,r13,r14
+  c4:	(7d ae 7f 17|17 7f ae 7d) 	divweuo\. r13,r14,r15
+  c8:	(7e 27 d9 f8|f8 d9 27 7e) 	bpermd  r7,r17,r27
+  cc:	(7e 8a 02 f4|f4 02 8a 7e) 	popcntw r10,r20
+  d0:	(7e 8a 03 f4|f4 03 8a 7e) 	popcntd r10,r20
+  d4:	(7e 95 b4 28|28 b4 95 7e) 	ldbrx   r20,r21,r22
+  d8:	(7e 95 b5 28|28 b5 95 7e) 	stdbrx  r20,r21,r22
+  dc:	(7d 40 56 ee|ee 56 40 7d) 	lfiwzx  f10,0,r10
+  e0:	(7d 49 56 ee|ee 56 49 7d) 	lfiwzx  f10,r9,r10
+  e4:	(ec 80 2e 9c|9c 2e 80 ec) 	fcfids  f4,f5
+  e8:	(ec 80 2e 9d|9d 2e 80 ec) 	fcfids\. f4,f5
+  ec:	(ec 80 2f 9c|9c 2f 80 ec) 	fcfidus f4,f5
+  f0:	(ec 80 2f 9d|9d 2f 80 ec) 	fcfidus\. f4,f5
+  f4:	(fc 80 29 1c|1c 29 80 fc) 	fctiwu  f4,f5
+  f8:	(fc 80 29 1d|1d 29 80 fc) 	fctiwu\. f4,f5
+  fc:	(fc 80 29 1e|1e 29 80 fc) 	fctiwuz f4,f5
+ 100:	(fc 80 29 1f|1f 29 80 fc) 	fctiwuz\. f4,f5
+ 104:	(fc 80 2f 5c|5c 2f 80 fc) 	fctidu  f4,f5
+ 108:	(fc 80 2f 5d|5d 2f 80 fc) 	fctidu\. f4,f5
+ 10c:	(fc 80 2f 5e|5e 2f 80 fc) 	fctiduz f4,f5
+ 110:	(fc 80 2f 5f|5f 2f 80 fc) 	fctiduz\. f4,f5
+ 114:	(fc 80 2f 9c|9c 2f 80 fc) 	fcfidu  f4,f5
+ 118:	(fc 80 2f 9d|9d 2f 80 fc) 	fcfidu\. f4,f5
+ 11c:	(fc 0a 59 00|00 59 0a fc) 	ftdiv   cr0,f10,f11
+ 120:	(ff 8a 59 00|00 59 8a ff) 	ftdiv   cr7,f10,f11
+ 124:	(fc 00 51 40|40 51 00 fc) 	ftsqrt  cr0,f10
+ 128:	(ff 80 51 40|40 51 80 ff) 	ftsqrt  cr7,f10
+ 12c:	(7e 08 4a 2c|2c 4a 08 7e) 	dcbtt   r8,r9
+ 130:	(7e 08 49 ec|ec 49 08 7e) 	dcbtstt r8,r9
+ 134:	(ed 40 66 44|44 66 40 ed) 	dcffix  f10,f12
+ 138:	(ee 80 b6 45|45 b6 80 ee) 	dcffix\. f20,f22
+ 13c:	(fd c0 78 30|30 78 c0 fd) 	fre     f14,f15
+ 140:	(fd c0 78 31|31 78 c0 fd) 	fre\.    f14,f15
+ 144:	(ed c0 78 30|30 78 c0 ed) 	fres    f14,f15
+ 148:	(ed c0 78 31|31 78 c0 ed) 	fres\.   f14,f15
+ 14c:	(fd c0 78 34|34 78 c0 fd) 	frsqrte f14,f15
+ 150:	(fd c0 78 35|35 78 c0 fd) 	frsqrte\. f14,f15
+ 154:	(ed c0 78 34|34 78 c0 ed) 	frsqrtes f14,f15
+ 158:	(ed c0 78 35|35 78 c0 ed) 	frsqrtes\. f14,f15
+ 15c:	(7c 43 27 1e|1e 27 43 7c) 	isel    r2,r3,r4,28
+ 160:	(60 42 00 00|00 00 42 60) 	ori     r2,r2,0
+ 164:	(60 00 00 00|00 00 00 60) 	nop
+ 168:	(60 00 00 00|00 00 00 60) 	nop
+ 16c:	(60 42 00 00|00 00 42 60) 	ori     r2,r2,0
+ 170:	(7f 7b db 78|78 db 7b 7f) 	yield
+ 174:	(7f 7b db 78|78 db 7b 7f) 	yield
+ 178:	(7f bd eb 78|78 eb bd 7f) 	mdoio
+ 17c:	(7f bd eb 78|78 eb bd 7f) 	mdoio
+ 180:	(7f de f3 78|78 f3 de 7f) 	mdoom
+ 184:	(7f de f3 78|78 f3 de 7f) 	mdoom
+ 188:	(7d 40 e2 a6|a6 e2 40 7d) 	mfppr   r10
+ 18c:	(7d 62 e2 a6|a6 e2 62 7d) 	mfppr32 r11
+ 190:	(7d 80 e3 a6|a6 e3 80 7d) 	mtppr   r12
+ 194:	(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



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