motorola booke opcodes/gas support
matthew green
mrg@cygnus.com
Fri Oct 12 21:22:00 GMT 2001
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 } },
More information about the Binutils
mailing list