Alan Modra
19a6653ce8
ppc e500mc support
2008-04-14 11:01:38 +00:00
Alan Modra
de866fccd8
* ppc-opc.c (powerpc_opcodes): Order and format.
2008-03-06 23:00:34 +00:00
Alan Modra
930bb4cfae
* ppc-opc.c: Support optional L form mtmsr.
2008-01-29 08:24:43 +00:00
Peter Bergner
548b1dcfcb
* ppc-opc.c (powerpc_opcodes): Remove the dcffix and dcffix. opcodes
...
which are not included in the "Preliminary Decimal Floating-Point
Architecture" document.
2007-11-06 23:14:07 +00:00
Peter Bergner
91eb7075e3
* ppc-opc.c (powerpc_opcodes): Fix the first two operands of
...
dquaiq. to use the TE and FRT macros.
2007-10-16 02:55:30 +00:00
Peter Bergner
8dbcd839b1
gas/
...
* config/tc-ppc.c (ppc_setup_opcodes): Verify instructions are sorted
according to major opcode number.
opcodes/
* ppc-opc.c (TE): Correct signedness.
(powerpc_opcodes): Sort psq_st and psq_stu according to major
opcode number.
2007-10-16 02:26:30 +00:00
Ben Elliston
c3d65c1ced
binutils/
...
* doc/binutils.texi (objdump): Document -Mppcps.
gas/
* config/tc-ppc.c (parse_cpu): Handle "750cl".
(pre_defined_registers): Add "gqr0" to "gqr7", "gqr.0" to "gqr.7".
(md_show_usage): Document -m750cl.
(md_assemble): Handle two delimiters in succession (eg. `),').
* doc/c-ppc.texi (PowerPC-Opts): Document -m750cl.
* testsuite/gas/ppc/ppc.exp: Run ppc70ps dump tests.
* testsuite/gas/ppc/ppc750ps.s: New file.
* testsuite/gas/ppc/ppc750ps.d: Likewise.
include/opcode/
* ppc.h (PPC_OPCODE_PPCPS): New.
opcodes/
* ppc-opc.c (PSW, PSWM, PSQ, PSQM, PSD, MTMSRD_L): New.
(XOPS, XOPS_MASK, XW, XW_MASK): Likewise.
(PPCPS): Likewise.
(powerpc_opcodes): Add all pair singles instructions.
* ppc-dis.c (powerpc_dialect): Handle "ppcps".
(print_ppc_disassembler_options): Document -Mppcps.
2007-08-24 00:56:30 +00:00
Nathan Sidwell
33e8d5ac61
* ppc-opc (PPC7450): New.
...
(powerpc_opcodes): Use it in dcba.
2007-07-27 14:24:27 +00:00
Nick Clifton
9b201bb5e5
Change source files over to GPLv3.
2007-07-05 09:49:03 +00:00
Peter Bergner
ea192fa395
* ppc-dis.c (operand_value_powerpc, skip_optional_operands): New.
...
(print_insn_powerpc): Use the new operand_value_powerpc and
skip_optional_operands functions to omit or print all optional
operands as a group.
* ppc-opc.c (BFF, W, XFL_L, XWRA_MASK): New.
(XFL_MASK): Delete L and W bits from the mask.
(mtfsfi, mtfsfi.): Replace use of BF with BFF. Relpace use of XRA_MASK
with XWRA_MASK. Use W.
(mtfsf, mtfsf.): Use XFL_L and W.
2007-05-17 00:52:14 +00:00
Alan Modra
eb42fac1bb
opcodes/
...
PR 4436
* ppc-opc.c (powerpc_operands): Correct bitm for second entry of MBE.
gas/
PR 4436
* config/tc-ppc.c (ppc_insert_operand): Disable range check if
min > max.
2007-04-30 00:27:57 +00:00
Alan Modra
717bbdf181
* ppc-opc.c (powerpc_operands): Delete duplicate entries.
...
(BA_MASK, FXM_MASK, STRM_MASK, VA_MASK, VB_MASK, VC_MASK): Delete.
(VD_MASK, WS_MASK, MTMSRD_L, XRT_L): Delete.
(powerpc_opcodes): Replace uses of MTMSRD_L and XRT_L.
2007-04-21 05:14:21 +00:00
Alan Modra
b84bf58af1
include/opcode/
...
* ppc.h (struct powerpc_operand): Replace "bits" with "bitm".
(num_powerpc_operands): Declare.
(PPC_OPERAND_SIGNED et al): Redefine as hex.
(PPC_OPERAND_PLUS1): Define.
opcodes/
* ppc-dis.c (print_insn_powerpc): Adjust for struct powerpc_operand
change.
* ppc-opc.c (powerpc_operands): Replace bit count with bit mask
in all entries. Add PPC_OPERAND_SIGNED to DE entry. Remove
references to following deleted functions.
(insert_bd, extract_bd, insert_dq, extract_dq): Delete.
(insert_ds, extract_ds, insert_de, extract_de): Delete.
(insert_des, extract_des, insert_li, extract_li): Delete.
(insert_nb, insert_rsq, insert_rtq, insert_ev2, extract_ev2): Delete.
(insert_ev4, extract_ev4, insert_ev8, extract_ev8): Delete.
(num_powerpc_operands): New constant.
(XSPRG_MASK): Remove entire SPRG field.
(powerpc_opcodes <bcctre, bcctrel>): Use XLBB_MASK not XLYBB_MASK.
gas/
* messages.c (as_internal_value_out_of_range): Extend to report
errors for values with invalid low bits set.
* config/tc-ppc.c (ppc_setup_opcodes): Check powerpc_operands bitm
fields. Check that operands and opcode fields are disjoint.
(ppc_insert_operand): Check operands using mask rather than bit
count. Check low bits too. Handle PPC_OPERAND_PLUS1. Adjust
insertion code.
(md_apply_fix): Adjust for struct powerpc_operand change.
2007-04-20 12:25:15 +00:00
Alan Modra
0bbdef9222
* ppc-opc.c (DCM, DGM, TE, RMC, R, SP, S): Correct shift.
...
(Z2_MASK): Define.
(powerpc_opcodes): Use Z2_MASK in all insns taking RMC operand.
2007-04-20 10:24:37 +00:00
Alan Modra
360b160092
* ppc-opc.c (powerpc_opcodes): Add cctpl, cctpm, cctph, db8cyc,
...
db10cyc, db12cyc, db16cyc.
2007-04-19 01:39:31 +00:00
Alan Modra
b20ae55eff
* ppc-opc.c (powerpc_opcodes): Recognize three-operand tlbsxe.
2007-04-18 23:57:01 +00:00
Alan Modra
ba4e851b3a
* ppc-opc.c (insert_bdm): -Many comment.
...
(valid_bo): Add "extract" param. Accept both powerpc and power4
BO fields when disassembling with -Many.
(insert_bo, extract_bo, insert_boe, extract_boe): Adjust valid_bo call.
2007-02-02 01:24:43 +00:00
Alan Modra
a9353e608e
* ppc-opc.c: Restore COM to mfcr wrongly removed 2003-07-04.
2006-11-06 00:46:07 +00:00
Peter Bergner
702f0fb48f
2006-10-26 Ben Elliston <bje@au.ibm.com>
...
Anton Blanchard <anton@samba.org>
Peter Bergner <bergner@vnet.ibm.com>
* ppc-opc.c (A_L, DCM, DGM, TE, RMC, R, SP, S, SH16, XRT_L, EH,
AFRALFRC_MASK, Z, ZRC, Z_MASK, XLRT_MASK, XEH_MASK): Define.
(POWER6): Define.
(powerpc_opcodes): Extend "lwarx", "ldarx", "dcbf", "fres", "fres.",
"frsqrtes", "frsqrtes." "fre", "fre.", "frsqrte" and "frsqrte.".
Add "doze", "nap", "sleep", "rvwinkle", "dcbfl", "prtyw", "prtyd",
"mfcfar", "cmpb", "lfdpx", "stfdpx", "mtcfar", "mffgpr", "mftgpr",
"lwzcix", "lhzcix", "lbzcix", "ldcix", "lfiwax", "stwcix", "sthcix",
"stbcix", "stdcix", "lfdp", "dadd", "dadd.", "dqua", "dqua.", "dmul",
"dmul.", "drrnd", "drrnd.", "dscli", "dscli.", "dquai", "dquai.",
"dscri", "dscri.", "drintx", "drintx.", "dcmpo", "dtstex", "dtstdc",
"dtstdg", "dtstsf", "drintn", "drintn.", "dctdp", "dctdp.", "dctfix",
"dctfix.", "ddedpd", "ddedpd.", "dxex", "dxex.", "dsub", "dsub.",
"ddiv", "ddiv.", "dcmpu", "drsp", "drsp.", "dcffix", "dcffix.",
"denbcd", "denbcd.", "diex", "diex.", "stfdp", "daddq", "daddq.",
"dquaq", "dquaq.", "fcpsgn", "fcpsgn.", "dmulq", "dmulq.",
"drrndq", "drrndq.", "dscliq", "dscliq.", "dquaiq", "dquaiq.",
"dscriq", "dscriq.", "drintxq", "drintxq.", "dcmpoq", "dtstexq",
"dtstdcq", "dtstdgq", "dtstsfq", "drintnq", "drintnq.",
"dctqpq", "dctqpq.", "dctfixq", "dctfixq.", "ddedpdq", "ddedpdq.",
"dxexq", "dxexq.", "dsubq", "dsubq.", "ddivq", "ddivq.", "dcmpuq",
"drdpq", "drdpq.", "dcffixq", "dcffixq.", "denbcdq", "denbcdq.",
"diexq" and "diexq." opcodes.
2006-10-26 17:37:26 +00:00
Alan Modra
ede602d7c8
Add powerpc cell support.
2006-10-24 01:27:29 +00:00
Alan Modra
ce7a772b48
* ppc-opc.c (powerpc_opcodes): Add frin,friz,frip,frim. Correct
...
frsqrtes.
2005-11-15 21:33:04 +00:00
Daniel Jacobowitz
36ae0db314
gas/
...
* config/tc-ppc.c (parse_cpu): Add -me300 support.
(md_show_usage): Likewise.
* doc/c-ppc.texi (PowerPC-Opts): Document it.
include/opcode/
* ppc.h (PPC_OPCODE_E300): Define.
opcodes/
* ppc-dis.c (powerpc_dialect): Handle e300.
(print_ppc_disassembler_options): Likewise.
* ppc-opc.c (PPCE300): Define.
(powerpc_opcodes): Mark icbt as available for the e300.
binutils/
* doc/binutils.texi (objdump): Document -M e300.
2005-08-15 15:37:15 +00:00
Alan Modra
1ed8e1e4fb
* ppc-dis.c (powerpc_dialect): Handle "-Mpower5".
...
(print_ppc_disassembler_options): Document it.
* ppc-opc.c (SCV_LEV): Define.
(LEV): Allow optional operand.
(POWER5): Define.
(powerpc_opcodes): Extend "sc". Adjust "svc" and "svcl". Add
"hrfid", "popcntb", "fsqrtes", "fsqrtes.", "fre" and "fre.".
2005-05-19 07:00:40 +00:00
Nick Clifton
f432110413
Update the address and phone number of the FSF
2005-05-07 07:34:31 +00:00
Alan Modra
eed0d89a39
* ppc-opc.c (RTO): Define.
...
(powerpc_opcodes <tlbsx, tlbsx., tlbre>): Combine PPC403 and BOOKE
entries to suit PPC440.
2005-04-19 04:50:37 +00:00
Alan Modra
da99ee721e
opcodes/
...
* ppc-opc.c (insert_sprg, extract_sprg): New Functions.
(powerpc_operands <SPRG>): Call the above. Bit field is 5 bits.
(SPRG_MASK): Delete.
(XSPRG_MASK): Mask off extra bits now part of sprg field.
(powerpc_opcodes): Asjust mfsprg and mtsprg to suit new mask. Move
mfsprg4..7 after msprg and consolidate.
gas/testsuite
* gas/ppc/booke.s: Add new m[t,f]sprg testcases.
* gas/ppc/booke.d: Likewise.
2005-03-10 12:52:30 +00:00
Aldy Hernandez
0e06657a9a
* ppc-opc.c (powerpc_opcodes): Fix encoding of efscfd.
2005-03-07 20:05:44 +00:00
Alan Modra
5e8cb02113
* ppc-opc.c (powerpc_opcodes): Add optional 'l' arg to tlbiel.
2005-01-20 06:54:48 +00:00
Alan Modra
e612bb4d30
* ppc-opc.c: Revert 2004-09-09 change.
2004-10-09 01:21:03 +00:00
Nick Clifton
bbac1f2ac7
Replace literal "0"s with NULLs in pointer initializers.
2004-10-07 15:34:08 +00:00
Aldy Hernandez
12c64a4e4d
* opcodes/ppc-opc.c (powerpc_opcodes): Add efscfd, efdabs, efdnabs,
...
efdneg, efdadd, efdsub, efdmul, efddiv, efdcmpgt, efdcmplt,
efdcmpeq, efdtstgt, efdtstlt, efdtsteq, efdcfsi, efdcfsid,
efdcfui, efdcfuid, efdcfsf, efdcfuf, efdctsi, efdctsidz, efdctsiz,
efdctui, efdctuidz, efdctuiz, efdctsf, efdctuf, efdctuf, efdcfs.
2004-10-06 23:58:13 +00:00
Alan Modra
2a309db040
opcodes/
...
* ppc-opc.c (L): Make this field not optional.
include/opcode/
* ppc.h (PPC_OPERAND_OPTIONAL): Fix comment.
2004-09-09 12:42:37 +00:00
Alan Modra
98e6987548
opcodes/
...
* ppc-opc.c (insert_fxm): Handle mfocrf and mtocrf.
(extract_fxm): Don't test dialect.
(XFXFXM_MASK): Include the power4 bit.
(XFXM): Add p4 param.
(powerpc_opcodes): Add mfocrf and mtocrf. Adjust mtcr.
gas/testsuite/
* gas/ppc/power4.d: Update.
2004-06-28 14:08:08 +00:00
Alan Modra
d0618d1c97
* ppc-opc.c (BH, XLBH_MASK): Define.
...
(powerpc_opcodes): Allow BH field on bclr, bclrl, bcctr, bcctrl.
2004-06-26 08:32:12 +00:00
Alan Modra
a30e9cc4a0
* ppc-opc.c (insert_fxm): Enable two operand mfcr when -many as
...
well as when -mpower4.
2004-05-19 05:11:48 +00:00
Alan Modra
a404d431a8
* ppc-opc.c (PPCVEC): Remove PPC_OPCODE_PPC.
2004-05-05 13:43:36 +00:00
Ben Elliston
520ceea489
* Corrections to previous patch. Amend ChangeLog.
...
* ppc-opc.c (XCMPL): Renmame to XOPL. Update users.
(powerpc_opcodes): Add "dbczl" instruction for PPC970.
2004-04-30 07:14:40 +00:00
Ben Elliston
f3806e43d9
* ppc-opc.c (powerpc_opcodes): Add "dbczl" instruction for PPC970.
...
[testsuite]
* gas/ppc/power4.s: Add dcbz and dcbzl test cases.
* gas/ppc/power4.d: Update accordingly.
2004-04-30 06:46:53 +00:00
Alan Modra
a9c3619ef1
Revert "lsdx", "lsdi", "stsdx", "stsdi", "lmd" and "stmd" insns.
2004-03-16 11:46:15 +00:00
Alan Modra
fdd12ef3c6
opcodes/
...
* ppc-dis.c (print_insn_powerpc): Don't print tabs. Handle
PPC_OPERANDS_GPR_0.
* ppc-opc.c (RA0): Define.
(RAQ, RAL, RAM, RAS, RSQ, RTQ, RSO): Use PPC_OPERAND_GPR_0.
(RAOPT): Rename from RAO. Update all uses.
(powerpc_opcodes): Use RA0 as appropriate. Add "lsdx", "lsdi",
"stsdx", "stsdi", "lmd" and "stmd" insns.
include/opcode/
* ppc.h (PPC_OPERAND_GPR_0): Define. Bump other operand defines.
gas/testsuite/
Update gas/ppc/.
ld/testsuite/
Update ld-powerpc/.
2004-03-16 00:58:43 +00:00
Aldy Hernandez
2dc111b3c1
* ppc-opc.c (powerpc_opcodes): Add BOOKE versions of mfsprg.
2004-03-15 19:07:39 +00:00
Aldy Hernandez
e5d2b64f53
* ppc-opc.c (powerpc_opcodes): Change mask for dcbt and dcbtst.
2004-02-26 03:24:44 +00:00
Aldy Hernandez
1f04b05ff5
2004-02-20 Aldy Hernandez <aldyh@redhat.com>
...
* ppc-opc.c (powerpc_opcodes): Move mfmcsrr0 before mfdc_dat.
2004-02-20 05:10:13 +00:00
Aldy Hernandez
2f3b870051
2004-02-20 Aldy Hernandez <aldyh@redhat.com>
...
* ppc-opc.c (powerpc_opcodes): Add m*ivor35.
2004-02-20 04:56:34 +00:00
Aldy Hernandez
f0b26da617
* ppc-opc.c (powerpc_opcodes): Add mfivor32, mfivor33, mfivor34,
...
mtivor32, mtivor33, mtivor34.
2004-02-20 04:45:37 +00:00
Aldy Hernandez
23d59c56c9
2004-02-19 Aldy Hernandez <aldyh@redhat.com>
...
* ppc-opc.c: Add mfmcar.
2004-02-20 00:17:23 +00:00
Zack Weinberg
1f6c9eb084
opcodes:
...
* ppc-opc.c (MO): Make optional.
(RAO, RSO, SHO): New optional forms of RA, RS, SH operands.
(tlbwe): Accept for both PPC403 and BOOKE. Make all operands optional.
gas:
* tc-ppc.c (md_assemble): Rewrite comment about optional operands
to indicate that 'all or none' is also handled. Pluralize a
word in another comment.
gas/testsuite:
* gas/ppc/booke.s: Add two more forms of the mbar instruction
and three forms of the tlbwe instruction.
* gas/ppc/booke.d: Update to match.
2003-12-10 22:12:50 +00:00
Kazu Hirata
e0ab682bec
* alpha-opc.c: Remove ARGSUSED.
...
* i370-opc.c: Likewise.
* ppc-opc.c: Likewise.
2003-12-03 03:15:14 +00:00
Alan Modra
661bd698e4
* ppc-dis.c (struct dis_private): New.
...
(powerpc_dialect): Make static. Accept -Many in addition to existing
options. Save dialect in dis_private.
(print_insn_big_powerpc): Retrieve dialect from dis_private.
(print_insn_little_powerpc): Likewise.
(print_insn_powerpc): Call powpc_dialect here. Remove unnecessary
efs/altivec check. Try harder to disassemble if given -Many.
* ppc-opc.c (insert_fxm): Expand comment.
(PPC, PPCCOM, PPC32, PPC64, PPCVEC): Remove PPC_OPCODE_ANY.
(POWER, POWER2, PPCPWR2, POWER32, COM, COM32, M601, PWRCOM): Likewise.
(POWER4): Remove PPCCOM.
(PPCONLY): Don't define. Update all occurrences to PPC.
2003-09-04 01:51:37 +00:00
Alan Modra
823bbe9d95
* ppc-opc.c (powerpc_opcodes): Combine identical PPC403/BOOKE entries.
...
Move duplicate mnemonic entries together. Use RS instead of RT on
all mt*.
* ppc-dis.c: Convert to ISO C.
2003-09-02 04:15:29 +00:00
Alan Modra
7d5b217e2c
* ppc-opc.c (PPC440): Define.
...
(powerpc_opcodes): Allow mac*, mul*, nmac*, dccci, dcread, iccci,
icread instructions when PPC440. Add dlmzb instruction.
2003-08-19 07:09:10 +00:00
Jakub Jelinek
0deb7ac528
* ppc-opc.c (insert_mbe, extract_mbe): Shift 1L instead of 1 up.
2003-07-29 08:29:56 +00:00
Alan Modra
8427c42425
* ppc-opc.c: Remove NULL pointer checks. Formatting. Remove
...
extraneous ATTRIBUTE_UNUSED.
* ppc-dis.c (print_insn_powerpc): Always pass a valid address to
operand->extract.
2003-07-07 01:34:04 +00:00
Alan Modra
2fbfdc41e7
* ppc-opc.c: Convert to C90, removing unnecessary prototypes and
...
casts. Formatting.
2003-07-04 15:27:25 +00:00
Alan Modra
c168870a29
* ppc-opc.c: Remove PARAMS from prototypes.
...
(FXM4): Define.
(insert_fxm): New function, used by both FXM and FXM4.
(extract_fxm): Likewise.
(XFXFXM_MASK): Remove 1 << 20 term.
(powerpc_opcodes): Add Power4 version of "mfcr". Simplify "mtcr" mask.
2003-07-04 13:06:21 +00:00
Alan Modra
adadcc0cc9
Add "attn", "lq" and "stq" power4 insns.
2003-06-10 07:44:11 +00:00
Nick Clifton
112290abe5
Fix formatting. Update copyright date.
2003-03-17 11:43:30 +00:00
Daniel Jacobowitz
1c7c333e1f
ppc-opc.c (powerpc_opcodes): Readd tlbre for PPC403.
2003-03-14 21:07:54 +00:00
Alan Modra
29ef7e545a
* ppc-opc.c (powerpc_macros <extrwi>): Accept a shift of 32.
2003-01-08 02:55:52 +00:00
Aldy Hernandez
42a2f80aa5
2002-12-05 Aldy Hernandez <aldyh@redhat.com>
...
* ppc-opc.c: Delete evsabs, evsnabs, evsneg, evsadd, evssub,
evsmul, evsdiv, evscmpgt, evsgmplt, evststgt, evtstlt, evststeq,
evscfui, evscfsi, evscfuf, evscfsf, evsctui, evsctuiz, evsctsi,
evsctsiz, evsctuf, evsctsf, evmwhssfaa, evmwhssmaa, evmwhsmfaa,
evmwhsmiaa, evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian,
evmwhsmfan, evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa,
evmwhgsmfaa, evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan,
evmwhgsmian, evmwhgumian.
(mftb): Add to opcode table.
(mtspefscr): Change RT to RS in opcode table.
2002-12-05 23:48:23 +00:00
Aldy Hernandez
b6be6416fd
* ppc-opc.c: Move mbar and msync up. Change mask for mbar and
...
msync.
2002-12-05 23:06:48 +00:00
Aldy Hernandez
81c2cc8b21
2002-11-25 Aldy Hernandez <aldyh@redhat.com>
...
* ppc-opc.c: Remove evmwlssf, evmwlssfa, evmwlsmf, evmwlsmfa,
evmwlssfaaw, evmwlsmfaaw, evmwlssfanw, evmwlsfanw.
2002-12-04 17:49:27 +00:00
Aldy Hernandez
914749f6ed
2002-12-04 Aldy Hernandez <aldyh@redhat.com>
...
* ppc-opc.c (PMRN): Remove.
(RA): Set to NB + 1.
(powerpc_opcodes): Change PMRN to SPR.
Change all RD to RS.
Change mftb to look like mftbl.
Move mftb before mftbl.
Add mfbbtar.
Add mtbbtar.
Change mfpmr to use PMR.
Change mtpmr to use PMR.
(RD): Remove.
(insert_ev2): Fix mask and shift.
(extract_ev2): Same.
(insert_ev4): Same.
(extract_ev4): Same.
(PMR): Define.
(extract_pmrn): Remove.
(insert_pmrn): Remove.
2002-12-04 17:29:47 +00:00
Aldy Hernandez
ced05688d4
2002-11-07 Aldy Hernandez <aldyh@redhat.com>
...
* ppc-opc.c (EVUIMM_4): Change bit size to 32.
(EVUIMM_2): Same.
(EVUIMM_8): Same.
2002-11-08 00:46:21 +00:00
Aldy Hernandez
95e172a508
2002-11-07 Aldy Hernandez <aldyh@redhat.com>
...
* ppc-opc.c (EVUIMM_4): Change bit size to 32.
(EVUIMM_2): Same.
2002-11-07 23:43:50 +00:00
Aldy Hernandez
fe58797755
2002-11-06 Aldy Hernandez <aldyh@redhat.com>
...
* opcodes/ppc-opc.c: Change RD to RS for evmerge*.
2002-11-07 00:54:09 +00:00
Nick Clifton
0ec499f72c
Allow CRFS and CRFD operands to accept CR register names
2002-09-20 15:44:23 +00:00
Nick Clifton
dde1b13223
Fix Book-E opcodes
2002-09-13 09:07:49 +00:00
Nick Clifton
341026c1c1
Do not insert non-BookE32 instructions into the hash table if the target cpu
...
is the BookE32. (case 107575)
2002-09-04 12:37:30 +00:00
Nick Clifton
2e32aab953
The BookE implementations of the TLBWE and TLBRE instructions do not take any
...
arguments.
2002-09-04 09:59:48 +00:00
Elena Zannoni
2397604975
2002-08-19 Elena Zannoni <ezannoni@redhat.com>
...
From matthew green <mrg@redhat.com>
* ppc-dis.c (powerpc_dialect): Support `-m500', `-m500x2' and
`-mefs'. Turn off AltiVec for E500 and efs.
(print_insn_powerpc): Don't print an AltiVec instruction if the
dialect is not efs.
* ppc-opc.c (insert_pmrn, extract_pmrn, insert_ev2, extract_ev2,
insert_ev4, extract_ev4, insert_ev8, extract_ev8): New functions
for extracting pmrn/evld/evstd/etc operands.
(CRB, CRFD, CRFS, DC, RD): New instruction fields.
(CT): Make this equal to RD + 1.
(PMRN): New operand.
(RA): Update.
(EVUIMM, EVUIMM_2, EVUIMM_4, EVUIMM_8): New operands.
(WS): Update.
(EVSEL, EVSEL_MASK): New instruction form and mask for EVSEL.
(ISEL, ISEL_MASK): New instruction form and mask for ISEL.
(XISEL, XISEL_MASK): New instruction form and mask for ISEL.
(CTX, CTX_MASK): New instruction form and mask for context cache
instructions.
(UCTX, UCTX_MASK): New instruction form and mask for user context
cache instructions.
(XC, XC_MASK, XUC, XUC_MASK): New instruction forms.
(CLASSIC): New define.
(PPCESPE): New define.
(PPCISEL, , PPCBRLK, PPCPMR, PPCCHLK, PPCRFMI): New
defines for integer select, cache control, branch
locking, power management, cache locking and machine check
APU instructions, respectively.
(efsabs, efsnabs, efsneg, efsadd, efssub, efsmul,
efsdiv, efscmpgt, efscmplt, efscmpeq, efststgt, efststlt,
efststeq, efscfui, efsctuiz, efscfsi, efscfuf, efscfsf,
efsctui, efsctsi, efsctsiz, efsctuf, efsctsf,
evaddw, evaddiw, evsubfw, evsubifw, evabs, evneg, evextsb,
evextsh, evrndw, evcntlzw, evcntlsw, brinc, evand, evandc, evor,
evorc, evxor, eveqv, evnand, evnor, evrlw, evrlwi, evslw, evslwi,
evsrws, evsrwu, evsrwis, evsrwiu, evsplati, evsplatfi, evmergehi,
evmergelo, evmergehilo, evmergelohi, evcmpgts, evcmpgtu, evcmplts,
evcmpltu, evcmpeq, evsel, evldd, evlddx, evldw, evldwx, evldh,
evldhx, evlwhe, evlwhex, evlwhou, evlwhoux, evlwhos, evlwhosx,
evlwwsplat, evlwwsplatx, evlwhsplat, evlwhsplatx, evlhhesplat,
evlhhesplatx, evlhousplat, evlhousplatx, evlhossplat, evlhossplatx,
evstdd, evstddx, evstdw, evstdwx, evstdh, evstdhx, evstwwe,
evstwwex, evstwwo, evstwwox, evstwhe, evstwhex, evstwho, evstwhox,
evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul, evfsdiv,
evfscmpgt, evfscmplt, evfscmpeq, evfststgt, evfststlt, evfststeq,
evfscfui, evfsctuiz, evfscfsi, evfscfuf, evfscfsf, evfsctui,
evfsctsi, evfsctsiz, evfsctuf, evfsctsf, evsabs, evsnabs, evsneg,
evsadd, evssub, evsmul, evsdiv, evscmpgt, evsgmplt, evsgmpeq,
evststgt, evststlt, evststeq, evscfui, evscfsi, evscfuf, evscfsf,
evsctui, evsctuiz, evsctsi, evsctsiz, evsctuf, evsctsf, evmhossf,
evmhossfa, evmhosmf, evmhosmfa, evmhosmi, evmhosmia, evmhoumi,
evmhoumia, evmhessf, evmhessfa, evmhesmf, evmhesmfa, evmhesmi,
evmhesmia, evmheumi, evmheumia, evmhossfaaw, evmhossiaaw,
evmhosmfaaw, evmhosmiaaw, evmhousiaaw, evmhoumiaaw, evmhessfaaw,
evmhessiaaw, evmhesmfaaw, evmhesmiaaw, evmheusiaaw, evmheumiaaw,
evmhossfanw, evmhossianw, evmhosmfanw, evmhosmianw, evmhousianw,
evmhoumianw, evmhessfanw, evmhessianw, evmhesmfanw, evmhesmianw,
evmheusianw, evmheumianw, evmhogsmfaa, evmhogsmiaa, evmhogumiaa,
evmhegsmfaa, evmhegsmiaa, evmhegumiaa, evmhogsmfan, evmhogsmian,
evmhogumian, evmhegsmfan, evmhegsmian, evmhegumian, evmwhssf,
evmwhssfa, evmwhssfaa, evmwhssmaa, evmwhsmfaa, evmwhsmiaa,
evmwhusiaa, evmwhumiaa, evmwhssfan, evmwhssian, evmwhsmfan,
evmwhsmian, evmwhusian, evmwhumian, evmwhgssfaa, evmwhgsmfaa,
evmwhgsmiaa, evmwhgumiaa, evmwhgssfan, evmwhgsmfan, evmwhgsmian,
evmwhgumian, evmwhsmf, evmwhsmfa, evmshsmi, evmshsmia, evmshumi,
evmshumia, evmmlssf, evmmlssfa, evmwlsmf, evmwlsmfa, evmwlumi,
evmwlumia, evmwlssfaaw, evmwlssiaaw, evmwlsmfaaw, evmwlsmiaaw,
evmwlusiaaw, evmwlumiaaw, evmwissfanw, evmwissianw, evmwlsmfanw,
evmwlsmianw, evmwlusianw, evmwlumianw, evmwssf, evmwssfa,
evmwsmf, evmwsmfa, evmwsmi, evmwsmia, evmwumi, evmwumia,
evmwssfaa, evmwsmfaa, evmwsmiaa, evmwumiaa, evmwssfan, evmwsmfan,
evmwsmian, evmwumian, evaddssiaaw, evaddsmiaaw, evaddusiaaw,
evaddumiaaw, evsubfssiaaw, evsubfsmiaaw, evsubfusiaaw,
evsubfumiaaw, evmra, evdivws, evdivws): New e500x2 Core Complex
instructions.
(rfmci): New machine check APU instruction.
(isel): New integer select APU instructino.
(icbtls, icbtlse, icblc, icblce, dcbtls, dcbtlse, dcbtstls,
dcbtstlse, dcblc, dcblce): New cache control APU instructions.
(mtspefscr, mfspefscr): New instructions.
(mfpmr, mtpmr): New performance monitor APU instructions.
(savecontext): New context cache APU instructions.
(bblels, bbelr): New branch locking APU instructions.
(bblels, bbelr): New instructions.
(mftbl, mftbu, mftb): Set as CLASSIC instructions. Add BOOKE alias.
2002-08-19 20:59:10 +00:00
Alan Modra
c1a34e6066
* ppc-opc.c: Add "tlbiel" for POWER4.
2002-05-09 11:15:47 +00:00
Alan Modra
7d4a12d20f
* ppc-opc.c: Add "tlbsx." and "tlbsxe." for booke.
2002-05-01 01:22:00 +00:00
Matthew Green
eb0fdfed10
* gas/ppc/altivec.d: Fix dssall test.
...
* gas/ppc/altivec.s: Likewise.
* gas/ppc/altivec_xcoff.d: Likewise.
* gas/ppc/altivec_xcoff.s: Likewise.
* gas/ppc/altivec_xcoff64.d: Likewise.
* gas/ppc/altivec_xcoff64.s: Likewise.
* ppc-opc.c (powerpc_opcode): Fix dssall operand list.
2002-04-17 14:43:28 +00:00
Alan Modra
82674a1fec
* dep-in.sed: Cope with absolute paths.
...
* Makefile.am (dep.sed): Subst TOPDIR.
Run "make dep-am".
* Makefile.in: Regenerate.
* ppc-opc.c: Whitespace.
* s390-dis.c: Fix copyright date.
2002-04-04 14:05:44 +00:00
Matthew Green
294b41b344
* ppc-opc.c (vmaddfp): Fix operand order.
2002-03-23 14:14:30 +00:00
Alan Modra
5ae2e65e90
* ppc-opc.c: Add optional field to mtmsrd.
...
(MTMSRD_L, XRLARB_MASK): Define.
2002-03-21 09:01:49 +00:00
Alan Modra
98acc1c518
* ppc-opc.c: Add optional `L' field to tlbie.
...
(XRTLRA_MASK): Define.
2002-03-13 08:34:04 +00:00
Alan Modra
94efba1253
* ppc-dis.c (powerpc_dialect): Handle power4 option.
...
* ppc-opc.c (insert_bdm): Correct description of "at" branch
hints. Test PPC_OPCODE_POWER4 to determine branch hint flavour.
(extract_bdm, insert_bdp, extract_bdp, valid_bo): Likewise.
(BOFM64, BOFP64, BOTM64, BOFP64): Rename to BOFM4, BOFP4 etc.
(BODNZM64, BODNZP64, BODZM64, BODZP64): Likewise.
(PPCCOM32, PPCCOM64): Delete.
(NOPOWER4, POWER4): Define.
(powerpc_opcodes): Replace occurences of PPCCOM32 with NOPOWER4,
and PPCCOM4 with POWER4 so that "at" style branch hint opcodes
are enabled for power4 rather than ppc64.
2002-02-25 03:43:46 +00:00
Tom Rix
ff3a6ee3fd
XCOFF booke tests. Fix tlbre, tlbwe ppc WS field.
2002-02-21 03:57:36 +00:00
Matthew Green
1cbbfaf9a2
* ppc-opc.c (PPCVEC): Include PPC_OPCODE_ANY.
2001-12-18 14:07:03 +00:00
Matthew Green
473d3293c6
* ppc-opc.c (mfvrsave, mtvrsave): New instructions.
2001-11-17 22:34:17 +00:00
Alan Modra
802a735ed9
binutils/ChangeLog
...
* doc/binutils.texi (objdump): Document ppc -M options.
gas/ChangeLog
* config/tc-ppc.c (ppc_insert_operand): Pass (ppc_cpu | ppc_size)
to operand->insert.
(md_assemble): Likewise.
gas/testsuite/ChangeLog
* gas/ppc/booke.d: Modify reloc and target matches for powerpc64.
include/opcode/ChangeLog
* ppc.h (struct powerpc_operand <insert, extract>): Add dialect param.
opcodes/ChangeLog
* ppc-opc.c (PPC64): Revert 2001-10-12. Do include PPC_OPCODE_PPC.
(insert_bat, extract_bat, insert_bba, extract_bba,
insert_bd, extract_bd, insert_bdm, extract_bdm,
insert_bdp, extract_bdp, valid_bo,
insert_bo, extract_bo, insert_boe, extract_boe,
insert_ds, extract_ds, insert_de, extract_de,
insert_des, extract_des, insert_li, extract_li,
insert_mbe, extract_mbe, insert_mb6, extract_mb6,
insert_nb, extract_nb, insert_nsi, extract_nsi,
insert_ral, insert_ram, insert_ras,
insert_rbs, extract_rbs, insert_sh6, extract_sh6,
insert_spr, extract_spr, insert_tbr, extract_tbr): Add dialect param.
(extract_bd, extract_bdm, extract_bdp,
extract_ds, extract_des,
extract_li, extract_nsi): Implement sign extension without conditional.
(insert_bdm, extract_bdm,
insert_bdp, extract_bdp, valid_bo): Handle 64 bit branch hints.
(extract_bdm, extract_bdp): Correct 32 bit validation.
(AT1_MASK, AT2_MASK): Define.
(BBOAT_MASK): Define.
(BBOATCB_MASK, BBOAT2CB_MASK, BBOATBI_MASK): Define.
(BOFM64, BOFP64, BOTM64, BOTP64): Define.
(BODNZM64, BODNZP64, BODZM64, BODZP64): Define.
(PPCCOM32, PPCCOM64): Define.
(powerpc_opcodes): Modify existing 32 bit insns with branch hints
and add new patterns to implement 64 bit branches with hints. Move
booke instructions so they match before ppc64.
* ppc-dis.c (powerpc_dialect): Set PPC_OPCODE_64 in dialect for
64 bit default targets, and parse "32" and "64" in options.
Formatting fixes.
(print_insn_powerpc): Pass dialect to operand->extract.
2001-11-15 01:08:53 +00:00
Alan Modra
1f613cde70
* ppc-opc.c (CT): Make it an optional operand.
2001-10-20 13:50:16 +00:00
Matthew Green
f5c120c5dc
[gas/ChangeLog]
...
* config/tc-ppc.c (md_show_usage): Add missing -maltivec, -m7400,
-m7410, -m7450 and -m7455 options.
[gas/testsuite/ChangeLog]
* gas/ppc/altivec.s: New test for AltiVec.
* gas/ppc/altivec.d: New file.
* gas/ppc/ppc.exp: Test altivec.s
[include/opcode/ChangeLog]
* ppc.h (PPC_OPCODE_BOOKE64): Fix typo.
[opcodes/ChangeLog]
* ppc-opc.c (STRM): New AltiVec operand.
(XDSS): New AltiVec instruction form.
(mtvscr): Correct operand list.
(dst, dstt, dstst, dststt, dss, dssall): AltiVec instructions.
2001-10-17 13:13:16 +00:00
Matthew Green
9fa87a061b
[gas/testsuite/ChangeLog]
...
* 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/ChangeLog]
* ppc-opc.c (MO): New macro for MO field of mbar instruction.
(powerpc_opcodes): Add rfci, wrtee, wrteei, mfdcrx, mfdcr,
mtdcrx, mtdcr, msync, dcba and mbar as BookE instructions.
2001-10-14 01:19:09 +00:00
Matthew Green
418c174284
[gas/ChangeLog]
...
* config/tc-ppc.c (md_parse_option): New -m7410, -m7450 and -m7455
flags, equivalent to -m7400. New -maltivec to enable AltiVec
instructions. New -mbook64 and -mbooke/-mbooke32 flags to enable
64-bit and 32-bit BookE support, respectively. Change -m403 and
-m405 to set PPC403 option.
(md_show_usage): Adjust for new options.
* doc/all.texi: Set PPC.
* doc/as.texinfo: Add PPC support and pull in c-ppc.texi.
* doc/c-ppc.texi: New file.
* doc/Makefile.am (CPU_DOCS): Add c-ppc.texi.
* doc/Makefile.in: Regenerate.
[gas/testsuite/ChangeLog]
* gas/ppc/booke.s: New test for Motorola BookE.
* gas/ppc/booke.d: New file.
* gas/ppc/ppc.exp: Test booke.s.
[include/opcode/ChangeLog]
* ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_403): New opcode flags for
BookE and PowerPC403 instructions.
[opcodes/ChangeLog]
* ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New
instruction field instruction/extraction functions for new BookE
DE form instructions.
(CT): New macro for CT field in an X form instruction.
(DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form
instructions.
(PPC64): Don't include PPC_OPCODE_PPC.
(403): New opcode macro for PPC403 processors.
(BOOKE): New opcode macro for BookE processors.
(bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions.
(bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise.
(dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise.
(stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise.
(mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise.
(subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise.
(subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise.
(addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise.
(lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise.
(stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise.
(tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise.
(lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise.
(stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise.
(lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise.
* ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look
for a disassembler option of `booke', `booke32' or `booke64' to enable
BookE support in the disassembler.
2001-10-13 01:59:09 +00:00
Nick Clifton
2613489e4e
Fix VXA mask bits
2001-09-14 10:52:26 +00:00
Matthew Green
0152a4c679
* ppc-opc.c (icbt): Order correctly.
2001-08-28 05:47:29 +00:00
Alan Modra
6ba045b129
* ppc-opc.c (DS): Add PPC_OPERAND_DS flag.
...
(LS): Define.
(insert_ds): Complain if not a multiple of 4.
(XSYNC): Define.
(XSYNC_MASK): Define.
(powerpc_opcodes): Add "slbmte", "lwsync", "ptesync", "slbmfev",
"slbmfee". Modify "sync" to use XSYNC_MASK and LS.
2001-08-27 10:27:48 +00:00
Alan Modra
11b37b7b84
Revert 2001-08-08 changes.
2001-08-10 01:34:47 +00:00
Alan Modra
0f1bac05bb
* ppc.h (struct powerpc_operand): New field `reloc'.
...
* ppc-opc.c: Include "bfd.h".
(powerpc_operands): Add new field for reloc type.
2001-08-08 13:19:36 +00:00
Nick Clifton
2dd46b8b52
Fix encoding of clf instruction
2001-07-03 18:37:39 +00:00
J.T. Conklin
24a7a601e2
* ppc-opc.c (powerpc_opcodes): Fixed extended opcode field of
...
simplified mnemonics used for setting PPC750-specific special
purpose registers.
2001-05-14 17:20:13 +00:00
Alexandre Oliva
3eb9799d10
* ppc-opc.c (insert_mbe): Shift mask initializer as long.
2001-03-30 07:36:27 +00:00
Nick Clifton
060d22b0d0
Fix typos in ChangeLogs; fix dates in copyright notices
2001-03-13 22:58:38 +00:00
Geoffrey Keating
e0c2164971
In src/gas/ChangeLog:
...
2000-08-30 Mark Hatle <mhatle@mvista.com>
* config/tc-ppc.c (md_parse_option): Recognize -m405.
In src/opcodes/ChangeLog:
2000-08-30 Mark Hatle <mhatle@mvista.com>
* ppc-opc.c Add XTLB macro for a few PPC 4xx extended mnemonics.
(powerpc_opcodes): Add table entries for PPC 405 instructions.
Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403
instructions.
Added extended mnemonic mftbl as defined in the 405GP manual
for all PPCs.
2000-08-31 06:48:49 +00:00
Geoffrey Keating
f509565ffa
2000-08-24 David Edelsohn <dje@watson.ibm.com>
...
* ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd.
2000-08-24 21:42:36 +00:00
Geoffrey Keating
1da5001cc9
* ppc-opc.c (powerpc_opcodes): Correct suffix for vslw.
...
Patch by Randall J Fisher <rfisher@ecn.purdue.edu>.
2000-07-09 20:28:51 +00:00
Geoffrey Keating
d2f75a6f40
* ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodes
...
also available in common mode when powerpc syntax is being used.
2000-05-10 19:42:25 +00:00