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

re: motorola booke opcodes/gas support





it seems i missed a few instructions.  here is an update.


OK to commit?



[gas/testsuite]
2001-10-13  matthew green  <mrg@redhat.com>

	* gas/ppc/booke.s (rfci, wrtee, wrteei, mfdcrx, mfdcr, mtdcrx,
	mtdcr, msync, dcba, mbar): New BookE tests.
	* gas/ppc/booke.d: Update for new BookE tests.

[opcodes]
2001-10-13  matthew green  <mrg@redhat.com>

	* ppc-opc.c (powerpc_opcodes): Add rfci, wrtee, wrteei, mfdcrx,
	mfdcr, mtdcrx, mtdcr, msync, dcba and mbar as BookE instructions.


Index: gas/testsuite/gas/ppc/booke.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/ppc/booke.d,v
retrieving revision 1.1
diff -p -c -2 -r1.1 booke.d
*** booke.d	2001/10/13 01:59:09	1.1
--- booke.d	2001/10/13 04:17:21
*************** Disassembly of section \.text:
*** 128,130 ****
--- 128,140 ----
   188:	7c 22 19 7e 	stwuxe	r1,r2,r3
   18c:	7c 85 31 3e 	stwxe	r4,r5,r6
+  190:	4c 00 00 66 	rfci
+  194:	7c 60 01 06 	wrtee	r3
+  198:	7c 00 81 46 	wrteei	1
+  19c:	7c 85 02 06 	mfdcrx	r4,r5
+  1a0:	7c aa 3a 86 	mfdcr	r5,234
+  1a4:	7c e6 03 06 	mtdcrx	r6,r7
+  1a8:	7d 10 6b 86 	mtdcr	432,r8
+  1ac:	7c 00 04 ac 	sync	
+  1b0:	7c 09 55 ec 	dcba	r9,r10
+  1b4:	7c 00 06 ac 	eieio
  Disassembly of section \.data:
Index: gas/testsuite/gas/ppc/booke.s
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/ppc/booke.s,v
retrieving revision 1.1
diff -p -c -2 -r1.1 booke.s
*** booke.s	2001/10/13 01:59:09	1.1
--- booke.s	2001/10/13 04:17:21
*************** branch_target_8:
*** 119,120 ****
--- 119,131 ----
  	stwuxe	1, 2, 3
  	stwxe	4, 5, 6
+ 
+ 	rfci
+ 	wrtee	3
+ 	wrteei	1
+ 	mfdcrx	4, 5
+ 	mfdcr	5, 234
+ 	mtdcrx	6, 7
+ 	mtdcr	432, 8
+ 	msync
+ 	dcba	9, 10
+ 	mbar
Index: opcodes/ppc-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/ppc-opc.c,v
retrieving revision 1.19
diff -p -c -2 -r1.19 ppc-opc.c
*** ppc-opc.c	2001/10/13 01:59:09	1.19
--- ppc-opc.c	2001/10/13 04:17:26
*************** const struct powerpc_opcode powerpc_opco
*** 2226,2229 ****
--- 2226,2230 ----
  { "rfi",     XL(19,50),	0xffffffff,	COM,		{ 0 } },
  { "rfci",    XL(19,51),	0xffffffff,	PPC403,		{ 0 } },
+ { "rfci",    XL(19,51),	0xffffffff,	BOOKE,		{ 0 } },
  
  { "rfsvc",   XL(19,82),	0xffffffff,	POWER,		{ 0 } },
*************** const struct powerpc_opcode powerpc_opco
*** 2611,2614 ****
--- 2612,2616 ----
  
  { "wrtee",   X(31,131),	XRARB_MASK,	PPC403,		{ RS } },
+ { "wrtee",   X(31,131),	XRARB_MASK,	BOOKE,		{ RS } },
  
  { "subfe",   XO(31,136,0,0), XO_MASK,	PPCCOM,		{ RT, RA, RB } },
*************** const struct powerpc_opcode powerpc_opco
*** 2653,2656 ****
--- 2655,2659 ----
  
  { "wrteei",  X(31,163),	XE_MASK,	PPC403,		{ E } },
+ { "wrteei",  X(31,163),	XE_MASK,	BOOKE,		{ E } },
  
  { "mtmsrd",  X(31,178),	XRARB_MASK,	PPC64,		{ RS } },
*************** const struct powerpc_opcode powerpc_opco
*** 2744,2747 ****
--- 2747,2752 ----
  { "stbuxe",  X(31,255),	X_MASK,		BOOKE64,	{ RS, RAS, RB } },
  
+ { "mfdcrx",  X(31,259),	X_MASK,		BOOKE,		{ RS, RA } },
+ 
  { "icbt",    X(31,262),	XRT_MASK,	PPC403,		{ RA, RB } },
  
*************** const struct powerpc_opcode powerpc_opco
*** 2823,2826 ****
--- 2828,2832 ----
  { "mfdmasr", XSPR(31,323,224), XSPR_MASK, PPC403,	{ RT } },
  { "mfdcr",   X(31,323),	X_MASK,		PPC403,		{ RT, SPR } },
+ { "mfdcr",   X(31,323),	X_MASK,		BOOKE,		{ RT, SPR } },
  
  { "div",     XO(31,331,0,0), XO_MASK,	M601,		{ RT, RA, RB } },
*************** const struct powerpc_opcode powerpc_opco
*** 2991,2994 ****
--- 2997,3002 ----
  { "lhauxe",  X(31,383),	X_MASK,		BOOKE64,	{ RT, RAL, RB } },
  
+ { "mtdcrx",  X(31,387),	X_MASK,		BOOKE,		{ RA, RS } },
+ 
  { "subfe64", XO(31,392,0,0), XO_MASK,	BOOKE64,	{ RT, RA, RB } },
  { "subfe64o",XO(31,392,1,0), XO_MASK,	BOOKE64,	{ RT, RA, RB } },
*************** const struct powerpc_opcode powerpc_opco
*** 3065,3068 ****
--- 3073,3077 ----
  { "mtdmasr", XSPR(31,451,224), XSPR_MASK, PPC403,	{ RT } },
  { "mtdcr",   X(31,451),	X_MASK,		PPC403,		{ SPR, RS } },
+ { "mtdcr",   X(31,451),	X_MASK,		BOOKE,		{ SPR, RS } },
  
  { "subfze64",XO(31,456,0,0), XORB_MASK, BOOKE64,	{ RT, RA } },
*************** const struct powerpc_opcode powerpc_opco
*** 3268,3271 ****
--- 3277,3281 ----
  { "sync",    X(31,598), XSYNC_MASK,	PPCCOM,		{ LS } },
  { "dcs",     X(31,598), 0xffffffff,	PWRCOM,		{ 0 } },
+ { "msync",   X(31,598), 0xf80007fe,	BOOKE,		{ 0 } },
  
  { "lfdx",    X(31,599), X_MASK,		COM,		{ FRT, RA, RB } },
*************** const struct powerpc_opcode powerpc_opco
*** 3322,3325 ****
--- 3332,3336 ----
  
  { "dcba",    X(31,758),	XRT_MASK,	PPC405,		{ RA, RB } },
+ { "dcba",    X(31,758),	XRT_MASK,	BOOKE,		{ RA, RB } },
  
  { "stfdux",  X(31,759),	X_MASK,		COM,		{ FRS, RAS, RB } },
*************** const struct powerpc_opcode powerpc_opco
*** 3360,3369 ****
  
  { "eieio",   X(31,854),	0xffffffff,	PPC,		{ 0 } },
  
! { "tlbsx",   XRC(31,914,0), X_MASK, PPC403,	{ RT, RA, RB } },
! { "tlbsx.",  XRC(31,914,1), X_MASK, PPC403,	{ RT, RA, RB } },
  
! { "tlbsx",   XRC(31,914,0), X_MASK,	 BOOKE,	{ RA, RB } },
! { "tlbsxe",  XRC(31,915,0), X_MASK,	 BOOKE,	{ RA, RB } },
  
  { "slbmfee", X(31,915), XRA_MASK,	PPC64,		{ RT, RB } },
--- 3371,3381 ----
  
  { "eieio",   X(31,854),	0xffffffff,	PPC,		{ 0 } },
+ { "mbar",    X(31,854),	0xffffffff,	BOOKE,		{ 0 } },
  
! { "tlbsx",   XRC(31,914,0), X_MASK, 	PPC403,		{ RT, RA, RB } },
! { "tlbsx.",  XRC(31,914,1), X_MASK, 	PPC403,		{ RT, RA, RB } },
  
! { "tlbsx",   XRC(31,914,0), X_MASK,	BOOKE,		{ RA, RB } },
! { "tlbsxe",  XRC(31,915,0), X_MASK,	BOOKE,		{ RA, RB } },
  
  { "slbmfee", X(31,915), XRA_MASK,	PPC64,		{ RT, RB } },


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