summaryrefslogtreecommitdiff
path: root/opcodes/ppc-opc.c
Commit message (Collapse)AuthorAgeFilesLines
* * ppc-opc.c (powerpc_macros <extrwi>): Accept a shift of 32.Alan Modra2003-01-081-2/+2
|
* 2002-12-05 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez2002-12-051-49/+2
| | | | | | | | | | | | | * 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.
* * ppc-opc.c: Move mbar and msync up. Change mask for mbar andAldy Hernandez2002-12-051-2/+2
| | | | msync.
* 2002-11-25 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez2002-12-041-8/+0
| | | | | * ppc-opc.c: Remove evmwlssf, evmwlssfa, evmwlsmf, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw, evmwlssfanw, evmwlsfanw.
* 2002-12-04 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez2002-12-041-274/+245
| | | | | | | | | | | | | | | | | | | | | * 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-11-07 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez2002-11-081-1/+1
| | | | | | * ppc-opc.c (EVUIMM_4): Change bit size to 32. (EVUIMM_2): Same. (EVUIMM_8): Same.
* 2002-11-07 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez2002-11-071-2/+2
| | | | | * ppc-opc.c (EVUIMM_4): Change bit size to 32. (EVUIMM_2): Same.
* 2002-11-06 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez2002-11-071-4/+4
| | | | * opcodes/ppc-opc.c: Change RD to RS for evmerge*.
* Allow CRFS and CRFD operands to accept CR register namesNick Clifton2002-09-201-2/+2
|
* Fix Book-E opcodesNick Clifton2002-09-131-272/+367
|
* Do not insert non-BookE32 instructions into the hash table if the target cpuNick Clifton2002-09-041-2/+2
| | | | is the BookE32. (case 107575)
* The BookE implementations of the TLBWE and TLBRE instructions do not take anyNick Clifton2002-09-041-3/+3
| | | | arguments.
* 2002-08-19 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni2002-08-191-6/+507
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * ppc-opc.c: Add "tlbiel" for POWER4.Alan Modra2002-05-091-0/+2
|
* * ppc-opc.c: Add "tlbsx." and "tlbsxe." for booke.Alan Modra2002-05-011-0/+2
|
* * gas/ppc/altivec.d: Fix dssall test.Matthew Green2002-04-171-1/+1
| | | | | | | | | | * 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.
* * dep-in.sed: Cope with absolute paths.Alan Modra2002-04-041-1/+1
| | | | | | | | * Makefile.am (dep.sed): Subst TOPDIR. Run "make dep-am". * Makefile.in: Regenerate. * ppc-opc.c: Whitespace. * s390-dis.c: Fix copyright date.
* * ppc-opc.c (vmaddfp): Fix operand order.Matthew Green2002-03-231-1/+1
|
* * ppc-opc.c: Add optional field to mtmsrd.Alan Modra2002-03-211-1/+8
| | | | (MTMSRD_L, XRLARB_MASK): Define.
* * ppc-opc.c: Add optional `L' field to tlbie.Alan Modra2002-03-131-1/+4
| | | | (XRTLRA_MASK): Define.
* * ppc-dis.c (powerpc_dialect): Handle power4 option.Alan Modra2002-02-251-313/+315
| | | | | | | | | | | | | * 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.
* XCOFF booke tests. Fix tlbre, tlbwe ppc WS field.Tom Rix2002-02-211-2/+8
|
* * ppc-opc.c (PPCVEC): Include PPC_OPCODE_ANY.Matthew Green2001-12-181-1/+1
|
* * ppc-opc.c (mfvrsave, mtvrsave): New instructions.Matthew Green2001-11-171-0/+2
|
* binutils/ChangeLogAlan Modra2001-11-151-541/+809
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * ppc-opc.c (CT): Make it an optional operand.Alan Modra2001-10-201-1/+1
|
* [gas/ChangeLog]Matthew Green2001-10-171-2/+20
| | | | | | | | | | | | | | | | | | | * 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.
* [gas/testsuite/ChangeLog]Matthew Green2001-10-141-5/+23
| | | | | | | | | | | * 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.
* [gas/ChangeLog]Matthew Green2001-10-131-15/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Fix VXA mask bitsNick Clifton2001-09-141-2/+2
|
* * ppc-opc.c (icbt): Order correctly.Matthew Green2001-08-281-2/+2
|
* * ppc-opc.c (DS): Add PPC_OPERAND_DS flag.Alan Modra2001-08-271-8/+29
| | | | | | | | | (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.
* Revert 2001-08-08 changes.Alan Modra2001-08-101-79/+72
|
* * ppc.h (struct powerpc_operand): New field `reloc'.Alan Modra2001-08-081-72/+79
| | | | | * ppc-opc.c: Include "bfd.h". (powerpc_operands): Add new field for reloc type.
* Fix encoding of clf instructionNick Clifton2001-07-031-1/+1
|
* * ppc-opc.c (powerpc_opcodes): Fixed extended opcode field ofJ.T. Conklin2001-05-141-19/+19
| | | | | simplified mnemonics used for setting PPC750-specific special purpose registers.
* * ppc-opc.c (insert_mbe): Shift mask initializer as long.Alexandre Oliva2001-03-301-1/+1
|
* Fix typos in ChangeLogs; fix dates in copyright noticesNick Clifton2001-03-131-1/+2
|
* In src/gas/ChangeLog:Geoffrey Keating2000-08-311-10/+138
| | | | | | | | | | | | | | | | 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-24 David Edelsohn <dje@watson.ibm.com>Geoffrey Keating2000-08-241-0/+8
| | | | * ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd.
* * ppc-opc.c (powerpc_opcodes): Correct suffix for vslw.Geoffrey Keating2000-07-091-1/+1
| | | | Patch by Randall J Fisher <rfisher@ecn.purdue.edu>.
* * ppc-opc.c (powerpc_opcodes): Make the predicted-branch opcodesGeoffrey Keating2000-05-101-363/+363
| | | | also available in common mode when powerpc syntax is being used.
* * ppc-opc.c (VA, VB, VC, VD, VS, SIMM, UIMM, SHB): New macros, forJ.T. Conklin2000-05-031-0/+223
| | | | | | | | | | | | | vector unit operands. (VX, VX_MASK, VXA, VXA_MASK, VXR, VXR_MASK): New macros, for vector unit instruction formats. (PPCVEC): New macro, mask for vector instructions. (powerpc_operands): Add table entries for above operand types. (powerpc_opcodes): Add table entries for vector instructions. * ppc-dis.c (print_insn_big_powerpc): Add PPC_OPCODE_ALTIVEC to mask. (print_insn_little_powerpc): Likewise. (print_insn_powerpc): Prepend 'v' when printing vector registers.
* More portability patches. Include sysdep.h everywhere.Alan Modra2000-04-141-1/+1
|
* * disassemble.c (disassembler_usage): Don't use a prototype. MarkIan Lance Taylor2000-04-021-23/+23
| | | | | the parameter ATTRIBUTE_UNUSED. * ppc-opc.c: Add ATTRIBUTE_UNUSED as needed.
* From Grant Erickson <gerickso@Brocade.COM>:Ian Lance Taylor2000-02-221-2/+2
| | | | * ppc-opc.c: Correct dcread--it takes 3 arguments, not 2.
* 19990502 sourceware importbinu_ss_19990502Richard Henderson1999-05-031-0/+3124