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