aboutsummaryrefslogtreecommitdiff
path: root/opcodes/ppc-opc.c
AgeCommit message (Collapse)AuthorFilesLines
2003-09-04 * ppc-dis.c (struct dis_private): New.Alan Modra1-24/+24
(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-02 * ppc-opc.c (powerpc_opcodes): Combine identical PPC403/BOOKE entries.Alan Modra1-222/+206
Move duplicate mnemonic entries together. Use RS instead of RT on all mt*. * ppc-dis.c: Convert to ISO C.
2003-08-19 * ppc-opc.c (PPC440): Define.Alan Modra1-88/+92
(powerpc_opcodes): Allow mac*, mul*, nmac*, dccci, dcread, iccci, icread instructions when PPC440. Add dlmzb instruction.
2003-07-29 * ppc-opc.c (insert_mbe, extract_mbe): Shift 1L instead of 1 up.Jakub Jelinek1-3/+3
2003-07-07 * ppc-opc.c: Remove NULL pointer checks. Formatting. RemoveAlan Modra1-91/+69
extraneous ATTRIBUTE_UNUSED. * ppc-dis.c (print_insn_powerpc): Always pass a valid address to operand->extract.
2003-07-04 * ppc-opc.c: Convert to C90, removing unnecessary prototypes andAlan Modra1-267/+218
casts. Formatting.
2003-07-04 * ppc-opc.c: Remove PARAMS from prototypes.Alan Modra1-111/+123
(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-06-10Add "attn", "lq" and "stq" power4 insns.Alan Modra1-4/+116
2003-03-17 Fix formatting. Update copyright date.Nick Clifton1-63/+62
2003-03-14ppc-opc.c (powerpc_opcodes): Readd tlbre for PPC403.Daniel Jacobowitz1-0/+1
2003-01-08 * ppc-opc.c (powerpc_macros <extrwi>): Accept a shift of 32.Alan Modra1-2/+2
2002-12-052002-12-05 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez1-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.
2002-12-05 * ppc-opc.c: Move mbar and msync up. Change mask for mbar andAldy Hernandez1-2/+2
msync.
2002-12-042002-11-25 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez1-8/+0
* ppc-opc.c: Remove evmwlssf, evmwlssfa, evmwlsmf, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw, evmwlssfanw, evmwlsfanw.
2002-12-042002-12-04 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez1-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-082002-11-07 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez1-1/+1
* ppc-opc.c (EVUIMM_4): Change bit size to 32. (EVUIMM_2): Same. (EVUIMM_8): Same.
2002-11-072002-11-07 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez1-2/+2
* ppc-opc.c (EVUIMM_4): Change bit size to 32. (EVUIMM_2): Same.
2002-11-072002-11-06 Aldy Hernandez <aldyh@redhat.com>Aldy Hernandez1-4/+4
* opcodes/ppc-opc.c: Change RD to RS for evmerge*.
2002-09-20Allow CRFS and CRFD operands to accept CR register namesNick Clifton1-2/+2
2002-09-13Fix Book-E opcodesNick Clifton1-272/+367
2002-09-04Do not insert non-BookE32 instructions into the hash table if the target cpuNick Clifton1-2/+2
is the BookE32. (case 107575)
2002-09-04The BookE implementations of the TLBWE and TLBRE instructions do not take anyNick Clifton1-3/+3
arguments.
2002-08-192002-08-19 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-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.
2002-05-09 * ppc-opc.c: Add "tlbiel" for POWER4.Alan Modra1-0/+2
2002-05-01 * ppc-opc.c: Add "tlbsx." and "tlbsxe." for booke.Alan Modra1-0/+2
2002-04-17 * gas/ppc/altivec.d: Fix dssall test.Matthew Green1-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.
2002-04-04 * dep-in.sed: Cope with absolute paths.Alan Modra1-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.
2002-03-23* ppc-opc.c (vmaddfp): Fix operand order.Matthew Green1-1/+1
2002-03-21 * ppc-opc.c: Add optional field to mtmsrd.Alan Modra1-1/+8
(MTMSRD_L, XRLARB_MASK): Define.
2002-03-13 * ppc-opc.c: Add optional `L' field to tlbie.Alan Modra1-1/+4
(XRTLRA_MASK): Define.
2002-02-25 * ppc-dis.c (powerpc_dialect): Handle power4 option.Alan Modra1-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.
2002-02-21XCOFF booke tests. Fix tlbre, tlbwe ppc WS field.Tom Rix1-2/+8
2001-12-18* ppc-opc.c (PPCVEC): Include PPC_OPCODE_ANY.Matthew Green1-1/+1
2001-11-17* ppc-opc.c (mfvrsave, mtvrsave): New instructions.Matthew Green1-0/+2
2001-11-15binutils/ChangeLogAlan Modra1-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.
2001-10-20 * ppc-opc.c (CT): Make it an optional operand.Alan Modra1-1/+1
2001-10-17[gas/ChangeLog]Matthew Green1-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.
2001-10-14[gas/testsuite/ChangeLog]Matthew Green1-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.
2001-10-13[gas/ChangeLog]Matthew Green1-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.
2001-09-14Fix VXA mask bitsNick Clifton1-2/+2
2001-08-28 * ppc-opc.c (icbt): Order correctly.Matthew Green1-2/+2
2001-08-27 * ppc-opc.c (DS): Add PPC_OPERAND_DS flag.Alan Modra1-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.
2001-08-10Revert 2001-08-08 changes.Alan Modra1-79/+72
2001-08-08 * ppc.h (struct powerpc_operand): New field `reloc'.Alan Modra1-72/+79
* ppc-opc.c: Include "bfd.h". (powerpc_operands): Add new field for reloc type.
2001-07-03Fix encoding of clf instructionNick Clifton1-1/+1
2001-05-14* ppc-opc.c (powerpc_opcodes): Fixed extended opcode field ofJ.T. Conklin1-19/+19
simplified mnemonics used for setting PPC750-specific special purpose registers.
2001-03-30* ppc-opc.c (insert_mbe): Shift mask initializer as long.Alexandre Oliva1-1/+1
2001-03-13Fix typos in ChangeLogs; fix dates in copyright noticesNick Clifton1-1/+2
2000-08-31In src/gas/ChangeLog:Geoffrey Keating1-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-242000-08-24 David Edelsohn <dje@watson.ibm.com>Geoffrey Keating1-0/+8
* ppc-opc.c (powerpc_opcodes): Add rfid, mtsrd, mtsrdin, mtmsrd.