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] Simplify handling of NOPOWER4 and mfcr


While attempting to add support for a new processor which like POWER4, accepts
the new mfcr insn with a FXM argument, I ran into a problem where I wanted to
do something similar to:

    {"mfcr",        XFXM(31,19,0,0), XRARB_MASK, NOPOWER4|COM, {RT}},
  - {"mfcr",        XFXM(31,19,0,0), XFXFXM_MASK, POWER4,   {RT, FXM4}},
  + {"mfcr",        XFXM(31,19,0,0), XFXFXM_MASK, POWER4|FOO, {RT, FXM4}},

where processor FOO does _not_ contain the PPC_OPCODE_POWER4 flag like
POWER5, POWER6 and POWER7 do.  I noticed that OR'ing in FOO above not
only didn't enable the new mfcr instruction, it broke it for POWER4 and
above.  Since the tests are basically testing when to skip a particular
opcodem I rearranged the POWER4 / NOPOWER4 handling which seems to
work better for my special case which will come later.  In addition,
the POWER5 and POWER6 tests are unnecessary as they are handled above,
so  removed them.

To ensure I got everything working correctly, I have added some new tests
to ensure we don't regress with repsect to the mfcr handling.

This has passed bootstrap and make check.  Ok for mainline?

Peter


gas/
	* config/tc-ppc.c (ppc_setup_opcodes): Simplify POWER4/NOPOWER4 test.
	Remove POWER5 and POWER6 tests.

gas/testsuite/
	* gas/ppc/common.s: New test.
	* gas/ppc/common.d: Likewise.
	* gas/ppc/power4_32.s: Likewise.
	* gas/ppc/power4_32.d: Likewise.
	* gas/ppc/power6.s: Add attn, mtcr, mtcrf, mfcr, dcbz.
	* gas/ppc/power6.d: Likewise.
	* gas/ppc/ppc.exp: Run power4_32 test.

Index: gas/config/tc-ppc.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-ppc.c,v
retrieving revision 1.141
diff -u -p -r1.141 tc-ppc.c
--- gas/config/tc-ppc.c	2 Aug 2008 04:38:50 -0000	1.141
+++ gas/config/tc-ppc.c	8 Sep 2008 22:48:17 -0000
@@ -1428,15 +1428,8 @@ ppc_setup_opcodes (void)
 	  && ((op->flags & PPC_OPCODE_BOOKE64) == 0
 	      || (ppc_cpu & PPC_OPCODE_BOOKE64) == PPC_OPCODE_BOOKE64
 	      || (ppc_cpu & PPC_OPCODE_BOOKE) == 0)
-	  && ((op->flags & (PPC_OPCODE_POWER4 | PPC_OPCODE_NOPOWER4)) == 0
-	      || ((op->flags & PPC_OPCODE_POWER4)
-		  == (ppc_cpu & PPC_OPCODE_POWER4)))
-	  && ((op->flags & PPC_OPCODE_POWER5) == 0
-	      || ((op->flags & PPC_OPCODE_POWER5)
-		  == (ppc_cpu & PPC_OPCODE_POWER5)))
-	  && ((op->flags & PPC_OPCODE_POWER6) == 0
-	      || ((op->flags & PPC_OPCODE_POWER6)
-		  == (ppc_cpu & PPC_OPCODE_POWER6))))
+	  && ((ppc_cpu & PPC_OPCODE_POWER4) == 0
+	      || (op->flags & PPC_OPCODE_NOPOWER4) == 0))
 	{
 	  const char *retval;
 
Index: gas/testsuite/gas/ppc/common.d
===================================================================
RCS file: gas/testsuite/gas/ppc/common.d
diff -N gas/testsuite/gas/ppc/common.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gas/testsuite/gas/ppc/common.d	8 Sep 2008 22:48:18 -0000
@@ -0,0 +1,190 @@
+#objdump: -d -Mcom
+#as: -a32 -mcom
+#name: PowerPC COMMON instructions
+
+.*: +file format elf32-powerpc.*
+
+Disassembly of section \.text:
+
+0+00 <start>:
+
+   0:	7c 83 28 39 	and.    r3,r4,r5
+   4:	7c 83 28 38 	and     r3,r4,r5
+   8:	7d cd 78 78 	andc    r13,r14,r15
+   c:	7e 30 90 79 	andc.   r16,r17,r18
+  10:	48 00 00 02 	ba      0 <start>
+  14:	40 01 00 00 	bdnzf-  gt,14 <start\+0x14>
+  18:	40 85 00 02 	blea-   cr1,0 <start>
+  1c:	40 43 00 01 	bdzfl-  so,1c <start\+0x1c>
+  20:	41 47 00 03 	bdztla- 4\*cr1\+so,0 <start>
+  24:	4e 80 04 20 	bctr
+  28:	4e 80 04 21 	bctrl
+  2c:	42 40 00 02 	bdza-   0 <start>
+  30:	42 40 00 00 	bdz-    30 <start\+0x30>
+  34:	42 40 00 03 	bdzla-  0 <start>
+  38:	42 40 00 01 	bdzl-   38 <start\+0x38>
+  3c:	41 82 00 00 	beq-    3c <start\+0x3c>
+  40:	41 8a 00 02 	beqa-   cr2,0 <start>
+  44:	41 86 00 01 	beql-   cr1,44 <start\+0x44>
+  48:	41 8e 00 03 	beqla-  cr3,0 <start>
+  4c:	40 80 00 00 	bge-    4c <start\+0x4c>
+  50:	40 90 00 02 	bgea-   cr4,0 <start>
+  54:	40 88 00 01 	bgel-   cr2,54 <start\+0x54>
+  58:	40 98 00 03 	bgela-  cr6,0 <start>
+  5c:	41 91 00 00 	bgt-    cr4,5c <start\+0x5c>
+  60:	41 99 00 02 	bgta-   cr6,0 <start>
+  64:	41 95 00 01 	bgtl-   cr5,64 <start\+0x64>
+  68:	41 9d 00 03 	bgtla-  cr7,0 <start>
+  6c:	48 00 00 00 	b       6c <start\+0x6c>
+  70:	48 00 00 03 	bla     0 <start>
+  74:	40 81 00 00 	ble-    74 <start\+0x74>
+  78:	40 91 00 02 	blea-   cr4,0 <start>
+  7c:	40 89 00 01 	blel-   cr2,7c <start\+0x7c>
+  80:	40 99 00 03 	blela-  cr6,0 <start>
+  84:	48 00 00 01 	bl      84 <start\+0x84>
+  88:	41 80 00 00 	blt-    88 <start\+0x88>
+  8c:	41 88 00 02 	blta-   cr2,0 <start>
+  90:	41 84 00 01 	bltl-   cr1,90 <start\+0x90>
+  94:	41 8c 00 03 	bltla-  cr3,0 <start>
+  98:	40 82 00 00 	bne-    98 <start\+0x98>
+  9c:	40 8a 00 02 	bnea-   cr2,0 <start>
+  a0:	40 86 00 01 	bnel-   cr1,a0 <start\+0xa0>
+  a4:	40 8e 00 03 	bnela-  cr3,0 <start>
+  a8:	40 85 00 00 	ble-    cr1,a8 <start\+0xa8>
+  ac:	40 95 00 02 	blea-   cr5,0 <start>
+  b0:	40 8d 00 01 	blel-   cr3,b0 <start\+0xb0>
+  b4:	40 9d 00 03 	blela-  cr7,0 <start>
+  b8:	40 84 00 00 	bge-    cr1,b8 <start\+0xb8>
+  bc:	40 94 00 02 	bgea-   cr5,0 <start>
+  c0:	40 8c 00 01 	bgel-   cr3,c0 <start\+0xc0>
+  c4:	40 9c 00 03 	bgela-  cr7,0 <start>
+  c8:	40 93 00 00 	bns-    cr4,c8 <start\+0xc8>
+  cc:	40 9b 00 02 	bnsa-   cr6,0 <start>
+  d0:	40 97 00 01 	bnsl-   cr5,d0 <start\+0xd0>
+  d4:	40 9f 00 03 	bnsla-  cr7,0 <start>
+  d8:	41 93 00 00 	bso-    cr4,d8 <start\+0xd8>
+  dc:	41 9b 00 02 	bsoa-   cr6,0 <start>
+  e0:	41 97 00 01 	bsol-   cr5,e0 <start\+0xe0>
+  e4:	41 9f 00 03 	bsola-  cr7,0 <start>
+  e8:	4c 85 32 02 	crand   4\*cr1\+lt,4\*cr1\+gt,4\*cr1\+eq
+  ec:	4c 64 29 02 	crandc  so,4\*cr1\+lt,4\*cr1\+gt
+  f0:	4c e0 0a 42 	creqv   4\*cr1\+so,lt,gt
+  f4:	4c 22 19 c2 	crnand  gt,eq,so
+  f8:	4c 01 10 42 	crnor   lt,gt,eq
+  fc:	4c a6 3b 82 	cror    4\*cr1\+gt,4\*cr1\+eq,4\*cr1\+so
+ 100:	4c 43 23 42 	crorc   eq,so,4\*cr1\+lt
+ 104:	4c c7 01 82 	crxor   4\*cr1\+eq,4\*cr1\+so,lt
+ 108:	7d 6a 62 39 	eqv.    r10,r11,r12
+ 10c:	7d 6a 62 38 	eqv     r10,r11,r12
+ 110:	fe a0 fa 11 	fabs.   f21,f31
+ 114:	fe a0 fa 10 	fabs    f21,f31
+ 118:	fd 8a 58 40 	fcmpo   cr3,f10,f11
+ 11c:	fd 84 28 00 	fcmpu   cr3,f4,f5
+ 120:	fc 60 20 91 	fmr.    f3,f4
+ 124:	fc 60 20 90 	fmr     f3,f4
+ 128:	fe 80 f1 11 	fnabs.  f20,f30
+ 12c:	fe 80 f1 10 	fnabs   f20,f30
+ 130:	fc 60 20 51 	fneg.   f3,f4
+ 134:	fc 60 20 50 	fneg    f3,f4
+ 138:	fc c0 38 18 	frsp    f6,f7
+ 13c:	fd 00 48 19 	frsp.   f8,f9
+ 140:	89 21 00 00 	lbz     r9,0\(r1\)
+ 144:	8d 41 00 01 	lbzu    r10,1\(r1\)
+ 148:	7e 95 b0 ee 	lbzux   r20,r21,r22
+ 14c:	7c 64 28 ae 	lbzx    r3,r4,r5
+ 150:	ca a1 00 08 	lfd     f21,8\(r1\)
+ 154:	ce c1 00 10 	lfdu    f22,16\(r1\)
+ 158:	7e 95 b4 ee 	lfdux   f20,r21,r22
+ 15c:	7d ae 7c ae 	lfdx    f13,r14,r15
+ 160:	c2 61 00 00 	lfs     f19,0\(r1\)
+ 164:	c6 81 00 04 	lfsu    f20,4\(r1\)
+ 168:	7d 4b 64 6e 	lfsux   f10,r11,r12
+ 16c:	7d 4b 64 2e 	lfsx    f10,r11,r12
+ 170:	a9 e1 00 06 	lha     r15,6\(r1\)
+ 174:	ae 01 00 08 	lhau    r16,8\(r1\)
+ 178:	7d 2a 5a ee 	lhaux   r9,r10,r11
+ 17c:	7d 2a 5a ae 	lhax    r9,r10,r11
+ 180:	7c 64 2e 2c 	lhbrx   r3,r4,r5
+ 184:	a1 a1 00 00 	lhz     r13,0\(r1\)
+ 188:	a5 c1 00 02 	lhzu    r14,2\(r1\)
+ 18c:	7e 96 c2 6e 	lhzux   r20,r22,r24
+ 190:	7e f8 ca 2e 	lhzx    r23,r24,r25
+ 194:	4c 04 00 00 	mcrf    cr0,cr1
+ 198:	fd 90 00 80 	mcrfs   cr3,cr4
+ 19c:	7d 80 04 00 	mcrxr   cr3
+ 1a0:	7c 60 00 26 	mfcr    r3
+ 1a4:	7c 69 02 a6 	mfctr   r3
+ 1a8:	7c b3 02 a6 	mfdar   r5
+ 1ac:	7c 92 02 a6 	mfdsisr r4
+ 1b0:	ff c0 04 8e 	mffs    f30
+ 1b4:	ff e0 04 8f 	mffs.   f31
+ 1b8:	7c 48 02 a6 	mflr    r2
+ 1bc:	7e 60 00 a6 	mfmsr   r19
+ 1c0:	7c 78 00 26 	mfocrf  r3,128
+ 1c4:	7c 25 02 a6 	mfrtcl  r1
+ 1c8:	7c 04 02 a6 	mfrtcu  r0
+ 1cc:	7c d9 02 a6 	mfsdr1  r6
+ 1d0:	7c 60 22 a6 	mfspr   r3,128
+ 1d4:	7c fa 02 a6 	mfsrr0  r7
+ 1d8:	7d 1b 02 a6 	mfsrr1  r8
+ 1dc:	7f c1 02 a6 	mfxer   r30
+ 1e0:	7f fe fb 79 	mr.     r30,r31
+ 1e4:	7f fe fb 78 	mr      r30,r31
+ 1e8:	7c 6f f1 20 	mtcr    r3
+ 1ec:	7c 68 01 20 	mtcrf   128,r3
+ 1f0:	7e 69 03 a6 	mtctr   r19
+ 1f4:	7e b3 03 a6 	mtdar   r21
+ 1f8:	7f 16 03 a6 	mtdec   r24
+ 1fc:	7e 92 03 a6 	mtdsisr r20
+ 200:	fc 60 00 8d 	mtfsb0. so
+ 204:	fc 60 00 8c 	mtfsb0  so
+ 208:	fc 60 00 4d 	mtfsb1. so
+ 20c:	fc 60 00 4c 	mtfsb1  so
+ 210:	fc 0c 55 8e 	mtfsf   6,f10
+ 214:	fc 0c 5d 8f 	mtfsf.  6,f11
+ 218:	ff 00 01 0c 	mtfsfi  6,0
+ 21c:	ff 00 f1 0d 	mtfsfi. 6,15
+ 220:	7e 48 03 a6 	mtlr    r18
+ 224:	7d 40 01 24 	mtmsr   r10
+ 228:	7c 78 01 20 	mtocrf  128,r3
+ 22c:	7e f5 03 a6 	mtrtcl  r23
+ 230:	7e d4 03 a6 	mtrtcu  r22
+ 234:	7f 39 03 a6 	mtsdr1  r25
+ 238:	7c 60 23 a6 	mtspr   128,r3
+ 23c:	7f 5a 03 a6 	mtsrr0  r26
+ 240:	7f 7b 03 a6 	mtsrr1  r27
+ 244:	7e 21 03 a6 	mtxer   r17
+ 248:	7f bc f3 b9 	nand.   r28,r29,r30
+ 24c:	7f bc f3 b8 	nand    r28,r29,r30
+ 250:	7c 64 00 d1 	neg.    r3,r4
+ 254:	7c 64 00 d0 	neg     r3,r4
+ 258:	7e 11 04 d0 	nego    r16,r17
+ 25c:	7e 53 04 d1 	nego.   r18,r19
+ 260:	7e b4 b0 f9 	nor.    r20,r21,r22
+ 264:	7e b4 b0 f8 	nor     r20,r21,r22
+ 268:	7e b4 a8 f9 	not.    r20,r21
+ 26c:	7e b4 a8 f8 	not     r20,r21
+ 270:	7c 40 23 78 	or      r0,r2,r4
+ 274:	7d cc 83 79 	or.     r12,r14,r16
+ 278:	7e 0f 8b 38 	orc     r15,r16,r17
+ 27c:	7e 72 a3 39 	orc.    r18,r19,r20
+ 280:	4c 00 00 64 	rfi
+ 284:	99 61 00 02 	stb     r11,2\(r1\)
+ 288:	9d 81 00 03 	stbu    r12,3\(r1\)
+ 28c:	7d ae 79 ee 	stbux   r13,r14,r15
+ 290:	7c 64 29 ae 	stbx    r3,r4,r5
+ 294:	db 21 00 20 	stfd    f25,32\(r1\)
+ 298:	df 41 00 28 	stfdu   f26,40\(r1\)
+ 29c:	7c 01 15 ee 	stfdux  f0,r1,r2
+ 2a0:	7f be fd ae 	stfdx   f29,r30,r31
+ 2a4:	d2 e1 00 14 	stfs    f23,20\(r1\)
+ 2a8:	d7 01 00 18 	stfsu   f24,24\(r1\)
+ 2ac:	7f 5b e5 6e 	stfsux  f26,r27,r28
+ 2b0:	7e f8 cd 2e 	stfsx   f23,r24,r25
+ 2b4:	b2 21 00 0a 	sth     r17,10\(r1\)
+ 2b8:	7c c7 47 2c 	sthbrx  r6,r7,r8
+ 2bc:	b6 41 00 0c 	sthu    r18,12\(r1\)
+ 2c0:	7e b6 bb 6e 	sthux   r21,r22,r23
+ 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
Index: gas/testsuite/gas/ppc/common.s
===================================================================
RCS file: gas/testsuite/gas/ppc/common.s
diff -N gas/testsuite/gas/ppc/common.s
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gas/testsuite/gas/ppc/common.s	8 Sep 2008 22:48:18 -0000
@@ -0,0 +1,182 @@
+	.section ".text"
+start:
+	and.	3,4,5
+	and	3,4,5
+	andc	13,14,15
+	andc.	16,17,18
+	ba	label_abs
+	bc	0,1,foo
+	bca	4,5,foo_abs
+	bcl	2,3,foo
+	bcla	10,7,foo_abs
+	bctr
+	bctrl
+	bdza	foo_abs
+	bdz	foo
+	bdzla	foo_abs
+	bdzl	foo
+	beq	0,foo
+	beqa	2,foo_abs
+	beql	1,foo
+	beqla	3,foo_abs
+	bge	0,foo
+	bgea	4,foo_abs
+	bgel	2,foo
+	bgela	6,foo_abs
+	bgt	4,foo
+	bgta	6,foo_abs
+	bgtl	5,foo
+	bgtla	7,foo_abs
+	b	label
+	bla	label_abs
+	ble	0,foo
+	blea	4,foo
+	blel	2,foo
+	blela	6,foo_abs
+	bl	label
+	blt	0,foo
+	blta	2,foo_abs
+	bltl	1,foo
+	bltla	3,foo_abs
+	bne	0,foo
+	bnea	2,foo
+	bnel	1,foo
+	bnela	3,foo_abs
+	bng	1,foo
+	bnga	5,foo_abs
+	bngl	3,foo
+	bngla	7,foo_abs
+	bnl	1,foo
+	bnla	5,foo_abs
+	bnll	3,foo
+	bnlla	7,foo_abs
+	bns	4,foo
+	bnsa	6,foo_abs
+	bnsl	5,foo
+	bnsla	7,foo_abs
+	bso	4,foo
+	bsoa	6,foo_abs
+	bsol	5,foo
+	bsola	7,foo_abs
+	crand	4,5,6
+	crandc	3,4,5
+	creqv	7,0,1
+	crnand	1,2,3
+	crnor	0,1,2
+	cror	5,6,7
+	crorc	2,3,4
+	crxor	6,7,0
+	eqv.	10,11,12
+	eqv	10,11,12
+	fabs.	21,31
+	fabs	21,31
+	fcmpo	3,10,11
+	fcmpu	3,4,5
+	fmr.	3,4
+	fmr	3,4
+	fnabs.	20,30
+	fnabs	20,30
+	fneg.	3,4
+	fneg	3,4
+	frsp	6,7
+	frsp.	8,9
+	lbz	9,0(1)
+	lbzu	10,1(1)
+	lbzux	20,21,22
+	lbzx	3,4,5
+	lfd	21,8(1)
+	lfdu	22,16(1)
+	lfdux	20,21,22
+	lfdx	13,14,15
+	lfs	19,0(1)
+	lfsu	20,4(1)
+	lfsux	10,11,12
+	lfsx	10,11,12
+	lha	15,6(1)
+	lhau	16,8(1)
+	lhaux	9,10,11
+	lhax	9,10,11
+	lhbrx	3,4,5
+	lhz	13,0(1)
+	lhzu	14,2(1)
+	lhzux	20,22,24
+	lhzx	23,24,25
+	mcrf	0,1
+	mcrfs	3,4
+	mcrxr	3
+	mfcr	3
+	mfctr	3
+	mfdar	5
+	mfdsisr	4
+	mffs	30
+	mffs.	31
+	mflr	2
+	mfmsr	19
+	mfocrf	3,0x80
+	mfrtcl	1
+	mfrtcu	0
+	mfsdr1	6
+	mfspr	3,0x80
+	mfsrr0	7
+	mfsrr1	8
+	mfxer	30
+	mr.	30,31
+	mr	30,31
+	mtcr	3
+	mtcrf	0x80,3
+	mtctr	19
+	mtdar	21
+	mtdec	24
+	mtdsisr	20
+	mtfsb0.	3
+	mtfsb0	3
+	mtfsb1.	3
+	mtfsb1	3
+	mtfsf	6,10
+	mtfsf.	6,11
+	mtfsfi	6,0
+	mtfsfi.	6,15
+	mtlr	18
+	mtmsr	10
+	mtocrf	0x80,3
+	mtrtcl	23
+	mtrtcu	22
+	mtsdr1	25
+	mtspr	0x80,3
+	mtsrr0	26
+	mtsrr1	27
+	mtxer	17
+	nand.	28,29,30
+	nand	28,29,30
+	neg.	3,4
+	neg	3,4
+	nego	16,17
+	nego.	18,19
+	nor.	20,21,22
+	nor	20,21,22
+	not.	20,21
+	not	20,21
+	or	0,2,4
+	or.	12,14,16
+	orc	15,16,17
+	orc.	18,19,20
+	rfi
+	stb	11,2(1)
+	stbu	12,3(1)
+	stbux	13,14,15
+	stbx	3,4,5
+	stfd	25,32(1)
+	stfdu	26,40(1)
+	stfdux	0,1,2
+	stfdx	29,30,31
+	stfs	23,20(1)
+	stfsu	24,24(1)
+	stfsux	26,27,28
+	stfsx	23,24,25
+	sth	17,10(1)
+	sthbrx	6,7,8
+	sthu	18,12(1)
+	sthux	21,22,23
+	sthx	12,13,14
+	xor.	29,30,31
+	xor	29,30,31
Index: gas/testsuite/gas/ppc/power4_32.d
===================================================================
RCS file: gas/testsuite/gas/ppc/power4_32.d
diff -N gas/testsuite/gas/ppc/power4_32.d
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gas/testsuite/gas/ppc/power4_32.d	8 Sep 2008 22:48:18 -0000
@@ -0,0 +1,43 @@
+#objdump: -d -Mpower4
+#as: -a32 -mpower4
+#name: Power4 instructions
+
+.*: +file format elf32-powerpc.*
+
+Disassembly of section \.text:
+
+0+00 <start>:
+   0:	80 c7 00 00 	lwz     r6,0\(r7\)
+   4:	80 c7 00 10 	lwz     r6,16\(r7\)
+   8:	80 c7 ff f0 	lwz     r6,-16\(r7\)
+   c:	80 c7 80 00 	lwz     r6,-32768\(r7\)
+  10:	80 c7 7f f0 	lwz     r6,32752\(r7\)
+  14:	90 c7 00 00 	stw     r6,0\(r7\)
+  18:	90 c7 00 10 	stw     r6,16\(r7\)
+  1c:	90 c7 ff f0 	stw     r6,-16\(r7\)
+  20:	90 c7 80 00 	stw     r6,-32768\(r7\)
+  24:	90 c7 7f f0 	stw     r6,32752\(r7\)
+  28:	00 00 02 00 	attn
+  2c:	7c 6f f1 20 	mtcr    r3
+  30:	7c 6f f1 20 	mtcr    r3
+  34:	7c 68 11 20 	mtcrf   129,r3
+  38:	7c 70 11 20 	mtocrf  1,r3
+  3c:	7c 70 21 20 	mtocrf  2,r3
+  40:	7c 70 41 20 	mtocrf  4,r3
+  44:	7c 70 81 20 	mtocrf  8,r3
+  48:	7c 71 01 20 	mtocrf  16,r3
+  4c:	7c 72 01 20 	mtocrf  32,r3
+  50:	7c 74 01 20 	mtocrf  64,r3
+  54:	7c 78 01 20 	mtocrf  128,r3
+  58:	7c 60 00 26 	mfcr    r3
+  5c:	7c 70 10 26 	mfocrf  r3,1
+  60:	7c 70 20 26 	mfocrf  r3,2
+  64:	7c 70 40 26 	mfocrf  r3,4
+  68:	7c 70 80 26 	mfocrf  r3,8
+  6c:	7c 71 00 26 	mfocrf  r3,16
+  70:	7c 72 00 26 	mfocrf  r3,32
+  74:	7c 74 00 26 	mfocrf  r3,64
+  78:	7c 78 00 26 	mfocrf  r3,128
+  7c:	7c 01 17 ec 	dcbz    r1,r2
+  80:	7c 23 27 ec 	dcbzl   r3,r4
+  84:	7c 05 37 ec 	dcbz    r5,r6
Index: gas/testsuite/gas/ppc/power4_32.s
===================================================================
RCS file: gas/testsuite/gas/ppc/power4_32.s
diff -N gas/testsuite/gas/ppc/power4_32.s
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gas/testsuite/gas/ppc/power4_32.s	8 Sep 2008 22:48:18 -0000
@@ -0,0 +1,36 @@
+	.section ".text"
+start:
+	lwz	6,0(7)
+	lwz	6,16(7)
+	lwz	6,-16(7)
+	lwz	6,-32768(7)
+	lwz	6,32752(7)
+	stw	6,0(7)
+	stw	6,16(7)
+	stw	6,-16(7)
+	stw	6,-32768(7)
+	stw	6,32752(7)
+	attn
+	mtcr	3
+	mtcrf	0xff,3
+	mtcrf	0x81,3
+	mtcrf	0x01,3
+	mtcrf	0x02,3
+	mtcrf	0x04,3
+	mtcrf	0x08,3
+	mtcrf	0x10,3
+	mtcrf	0x20,3
+	mtcrf	0x40,3
+	mtcrf	0x80,3
+	mfcr	3
+	mfcr	3,0x01
+	mfcr	3,0x02
+	mfcr	3,0x04
+	mfcr	3,0x08
+	mfcr	3,0x10
+	mfcr	3,0x20
+	mfcr	3,0x40
+	mfcr	3,0x80
+	dcbz    1, 2
+	dcbzl   3, 4
+	dcbz    5, 6
Index: gas/testsuite/gas/ppc/power6.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/ppc/power6.d,v
retrieving revision 1.1
diff -u -p -r1.1 power6.d
--- gas/testsuite/gas/ppc/power6.d	1 Aug 2008 02:44:12 -0000	1.1
+++ gas/testsuite/gas/ppc/power6.d	8 Sep 2008 22:48:18 -0000
@@ -28,4 +28,27 @@ Disassembly of section \.text:
   48:	7e 08 3a ac 	dstt    r8,r7,0
   4c:	7c 65 32 ec 	dstst   r5,r6,3
   50:	7e 44 2a ec 	dststt  r4,r5,2
-
+  54:	00 00 02 00 	attn
+  58:	7c 6f f1 20 	mtcr    r3
+  5c:	7c 6f f1 20 	mtcr    r3
+  60:	7c 68 11 20 	mtcrf   129,r3
+  64:	7c 70 11 20 	mtocrf  1,r3
+  68:	7c 70 21 20 	mtocrf  2,r3
+  6c:	7c 70 41 20 	mtocrf  4,r3
+  70:	7c 70 81 20 	mtocrf  8,r3
+  74:	7c 71 01 20 	mtocrf  16,r3
+  78:	7c 72 01 20 	mtocrf  32,r3
+  7c:	7c 74 01 20 	mtocrf  64,r3
+  80:	7c 78 01 20 	mtocrf  128,r3
+  84:	7c 60 00 26 	mfcr    r3
+  88:	7c 70 10 26 	mfocrf  r3,1
+  8c:	7c 70 20 26 	mfocrf  r3,2
+  90:	7c 70 40 26 	mfocrf  r3,4
+  94:	7c 70 80 26 	mfocrf  r3,8
+  98:	7c 71 00 26 	mfocrf  r3,16
+  9c:	7c 72 00 26 	mfocrf  r3,32
+  a0:	7c 74 00 26 	mfocrf  r3,64
+  a4:	7c 78 00 26 	mfocrf  r3,128
+  a8:	7c 01 17 ec 	dcbz    r1,r2
+  ac:	7c 23 27 ec 	dcbzl   r3,r4
+  b0:	7c 05 37 ec 	dcbz    r5,r6
Index: gas/testsuite/gas/ppc/power6.s
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/ppc/power6.s,v
retrieving revision 1.1
diff -u -p -r1.1 power6.s
--- gas/testsuite/gas/ppc/power6.s	1 Aug 2008 02:44:12 -0000	1.1
+++ gas/testsuite/gas/ppc/power6.s	8 Sep 2008 22:48:18 -0000
@@ -23,3 +23,27 @@ start:
 	dstt	8,7,0
 	dstst	5,6,3
 	dststt	4,5,2
+	attn
+	mtcr    3
+	mtcrf   0xff,3
+	mtcrf   0x81,3
+	mtcrf   0x01,3
+	mtcrf   0x02,3
+	mtcrf   0x04,3
+	mtcrf   0x08,3
+	mtcrf   0x10,3
+	mtcrf   0x20,3
+	mtcrf   0x40,3
+	mtcrf   0x80,3
+	mfcr    3
+	mfcr    3,0x01
+	mfcr    3,0x02
+	mfcr    3,0x04
+	mfcr    3,0x08
+	mfcr    3,0x10
+	mfcr    3,0x20
+	mfcr    3,0x40
+	mfcr    3,0x80
+	dcbz    1, 2
+	dcbzl   3, 4
+	dcbz    5, 6
Index: gas/testsuite/gas/ppc/ppc.exp
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/ppc/ppc.exp,v
retrieving revision 1.20
diff -u -p -r1.20 ppc.exp
--- gas/testsuite/gas/ppc/ppc.exp	2 Aug 2008 04:38:51 -0000	1.20
+++ gas/testsuite/gas/ppc/ppc.exp	8 Sep 2008 22:48:18 -0000
@@ -45,6 +45,8 @@ if { [istarget powerpc*-*-*] } then {
 	run_dump_test "ppc750ps"
 	run_dump_test "e500mc"
 	run_dump_test "cell"
+	run_dump_test "common"
+	run_dump_test "power4_32"
 	run_dump_test "power6"
 	run_dump_test "power7"
     }


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