Commit Graph

85 Commits

Author SHA1 Message Date
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