1. 01 Feb, 2017 1 commit
  2. 15 Aug, 2016 1 commit
  3. 11 Jan, 2013 1 commit
    • Peter Bergner's avatar
      include/opcode/ · 5817ffd1
      Peter Bergner authored
      	* ppc.h (PPC_OPCODE_POWER8): New define.
      	(PPC_OPCODE_HTM): Likewise.
      
      opcodes/
      	* ppc-dis.c (ppc_opts): Add "power8", "pwr8" and "htm" entries.
      	* ppc-opc.c (HTM_R, HTM_SI, XRTRB_MASK, XRTRARB_MASK, XRTLRARB_MASK,
      	XRTARARB_MASK, XRTBFRARB_MASK, XRCL, POWER8, PPCHTM): New defines.
      	(SH6): Update.
      	<"tabort.", "tabortdc.", "tabortdci.", "tabortwc.",
      	"tabortwci.", "tbegin.", "tcheck", "tend.", "trechkpt.",
      	"treclaim.", "tsr.">: Add POWER8 HTM opcodes.
      	<"tendall.", "tresume.", "tsuspend.">: Add POWER8 HTM extended opcodes.
      
      gas/
      	* doc/as.texinfo (Target PowerPC): Document -mpower8 and -mhtm.
      	* doc/c-ppc.texi (PowerPC-Opts):  Likewise.
      	* config/tc-ppc.c (md_show_usage): Likewise.
      	(ppc_handle_align): Handle power8's group ending nop.
      
      gas/testsuite/
      	* gas/ppc/htm.d: New test.
      	* gas/ppc/htm.s: Likewise.
      	* gas/ppc/power8.d: Likewise.
      	* gas/ppc/power8.s: Likewise.
      	* gas/ppc/ppc.exp: Run them.
      5817ffd1
  4. 23 Nov, 2012 1 commit
    • Alan Modra's avatar
      include/opcode/ · 776fc418
      Alan Modra authored
      	* ppc.h (ppc_parse_cpu): Update prototype.
      opcodes/
      	* ppc-dis.c (ppc_parse_cpu): Add "sticky" param.  Track bits
      	set from ppc_opts.sticky in it.  Delete "retain_mask".
      	(powerpc_init_dialect): Choose default dialect from info->mach
      	before parsing -M options.  Handle more bfd_mach_ppc variants.
      	Update common default to power7.
      gas/
      	* config/tc-ppc.c (sticky): New var.
      	(md_parse_option, ppc_machine): Update ppc_parse_cpu calls.
      gas/testsuite/
      	* gas/ppc/astest2.d: Pass -Mppc to objdump.
      ld/testsuite/
      	* ld-powerpc/plt1.d: Update for default "at" branch hints.
      	* ld-powerpc/tlsexe.d: Likewise.
      	* ld-powerpc/tlsexetoc.d: Likewise.
      	* ld-powerpc/tlsopt1.d: Likewise.
      	* ld-powerpc/tlsopt1_32.d: Likewise.
      	* ld-powerpc/tlsopt2.d: Likewise.
      	* ld-powerpc/tlsopt2_32.d: Likewise.
      	* ld-powerpc/tlsopt4.d: Likewise.
      	* ld-powerpc/tlsopt4_32.d: Likewise.
      	* ld-powerpc/tlsso.d: Likewise.
      	* ld-powerpc/tlstocso.d: Likewise.
      776fc418
  5. 14 May, 2012 1 commit
    • James Lemke's avatar
      · b9c361e0
      James Lemke authored
      Add support for PowerPC VLE.
      
      2012-05-14  Catherine Moore  <clm@codesourcery.com>
      
      	* NEWS:  Mention PowerPC VLE port.
      
      2012-05-14  James Lemke <jwlemke@codesourcery.com>
      	    Catherine Moore  <clm@codesourcery.com>
      
      	bfd/
      	* bfd.c (bfd_lookup_section_flags): Add section parm.
      	* ecoff.c (bfd_debug_section): Remove flag_info initializer.
      	* elf-bfd.h (bfd_elf_section_data): Move in section_flag_info.
      	(bfd_elf_lookup_section_flags): Add section parm.
      	* elf32-ppc.c (is_ppc_vle): New function.
      	(ppc_elf_modify_segment_map): New function.
      	(elf_backend_modify_segment_map): Define.
      	(has_vle_insns): New define.
      	* elf32-ppc.h (ppc_elf_modify_segment_map): Declare.
      	* elflink.c (bfd_elf_lookup_section_flags): Add return value & parm.
      	Move in logic to omit / include a section.
      	* libbfd-in.h (bfd_link_info): Add section parm.
      	(bfd_generic_lookup_section_flags): Likewise.
      	* reloc.c (bfd_generic_lookup_section_flags): Likewise.
      	* section.c (bfd_section): Move out section_flag_info.
      	(BFD_FAKE_SECTION): Remove flag_info initializer.
      	* targets.c (_bfd_lookup_section_flags): Add section parm.
      
      2012-05-14  Catherine Moore  <clm@codesourcery.com>
      
      	bfd/
      	* archures.c (bfd_mach_ppc_vle): New.
      	* bfd-in2.h: Regenerated.
      	* cpu-powerpc.c (bfd_powerpc_archs): New entry for vle.
      	* elf32-ppc.c (split16_format_type): New enumeration.
      	(ppc_elf_vle_split16): New function.
      	(HOWTO): Add entries for R_PPC_VLE relocations.
      	(ppc_elf_reloc_type_lookup): Handle PPC_VLE relocations.
      	(ppc_elf_section_flags): New function.
      	(ppc_elf_lookup_section_flags): New function.
      	(ppc_elf_section_processing): New function.
      	(ppc_elf_check_relocs): Handle PPC_VLE relocations.
      	(ppc_elf_relocation_section): Likewise.
      	(elf_backend_lookup_section_flags_hook): Define.
      	(elf_backend_section_flags): Define.
      	(elf_backend_section_processing): Define.
      	* elf32-ppc.h (ppc_elf_section_processing): Declare.
      	* libbfd.h: Regenerated.
      	* reloc.c (BFD_RELOC_PPC_VLE_REL8, BFD_RELOC_PPC_VLE_REL15,
      	BFD_RELOC_PPC_VLE_REL24, BFD_RELOC_PPC_VLE_LO16A,
      	BFD_RELOC_PPC_VLE_LO16D, BFD_RELOC_PPC_VLE_HI16A,
      	BFD_RELOC_PPC_VLE_HI16D, BFD_RELOC_PPC_VLE_HA16A,
      	BFD_RELOC_PPC_VLE_HA16D, BFD_RELOC_PPC_VLE_SDA21,
      	BFD_RELOC_PPC_VLE_SDA21_LO, BFD_RELOC_PPC_VLE_SDAREL_LO16A,
      	BFD_RELOC_PPC_VLE_SDAREL_LO16D, BFD_RELOC_PPC_VLE_SDAREL_HI16A,
      	BFD_RELOC_PPC_VLE_SDAREL_HI16D, BFD_RELOC_PPC_VLE_SDAREL_HA16A,
      	BFD_RELOC_PPC_VLE_SDAREL_HA16D): New bfd relocations.
      
      2012-05-14  James Lemke  <jwlemke@codesourcery.com>
      
      	gas/
      	* config/tc-ppc.c (insn_validate): New func of existing code to call..
      	(ppc_setup_opcodes): ..from 2 places here.
      	Revise for second (VLE) opcode table.
      	Add #ifdef'd code to print opcode tables.
      
      2012-05-14  James Lemke  <jwlemke@codesourcery.com>
      
      	gas/
      	* config/tc-ppc.c (ppc_setup_opcodes): Allow out-of-order
      	for the VLE conditional branches.
      
      2012-05-14  Catherine Moore  <clm@codesourcery.com>
                  Maciej W. Rozycki  <macro@codesourcery.com>
      	    Rhonda Wittels  <rhonda@codesourcery.com>
      
      	gas/
      	* config/tc-ppc.c (PPC_VLE_SPLIT16A): New macro.
      	(PPC_VLE_SPLIT16D): New macro.
      	(PPC_VLE_LO16A): New macro.
      	(PPC_VLE_LO16D): New macro.
      	(PPC_VLE_HI16A): New macro.
      	(PPC_VLE_HI16D): New macro.
      	(PPC_VLE_HA16A): New macro.
      	(PPC_VLE_HA16D): New macro.
      	(PPC_APUINFO_VLE): New definition.
      	(md_chars_to_number): New function.
      	(md_parse_option): Check for combinations of little
      	endian and -mvle.
      	(md_show_usage): Document -mvle.
      	(ppc_arch): Recognize VLE.
      	(ppc_mach): Recognize bfd_mach_ppc_vle.
      	(ppc_setup_opcodes): Print the opcode table if
      	* config/tc-ppc.h (ppc_frag_check): Declare.
      	* doc/c-ppc.texi: Document -mvle.
      	* NEWS:  Mention PowerPC VLE port.
      
      2012-05-14  Catherine Moore  <clm@codesourcery.com>
      
      	gas/
      	* config/tc-ppc.h (ppc_dw2_line_min_insn_length): Declare.
      	(DWARF2_LINE_MIN_INSN_LENGTH): Redefine.
      	* config/tc-ppc.c (ppc_dw2_line_min_insn_length): New.
      	* dwarf2dbg.c (scale_addr_delta): Handle values of 1
      	for DWARF2_LINE_MIN_INSN_LENGTH.
      
      2012-05-14  Catherine Moore  <clm@codesourcery.com>
                  Maciej W. Rozycki  <macro@codesourcery.com>
      	    Rhonda Wittels  <rhonda@codesourcery.com>
      
      	gas/testsuite/
      	* gas/ppc/ppc.exp: Run new tests.
      	* gas/ppc/vle-reloc.d: New test.
      	* gas/ppc/vle-reloc.s: New test.
      	* gas/ppc/vle-simple-1.d: New test.
      	* gas/ppc/vle-simple-1.s: New test.
      	* gas/ppc/vle-simple-2.d: New test.
      	* gas/ppc/vle-simple-2.s: New test.
      	* gas/ppc/vle-simple-3.d: New test.
      	* gas/ppc/vle-simple-3.s: New test.
      	* gas/ppc/vle-simple-4.d: New test.
      	* gas/ppc/vle-simple-4.s: New test.
      	* gas/ppc/vle-simple-5.d: New test.
      	* gas/ppc/vle-simple-5.s: New test.
      	* gas/ppc/vle-simple-6.d: New test.
      	* gas/ppc/vle-simple-6.s: New test.
      	* gas/ppc/vle.d: New test.
      	* gas/ppc/vle.s: New test.
      
      2012-05-14  James Lemke  <jwlemke@codesourcery.com>
      	include/elf/
      	* ppc.h (SEC_PPC_VLE): Remove.
      
      2012-05-14  Catherine Moore  <clm@codesourcery.com>
      	    James Lemke  <jwlemke@codesourcery.com>
      
      	include/elf/
      	* ppc.h (R_PPC_VLE_REL8): New reloction.
      	(R_PPC_VLE_REL15): Likewise.
      	(R_PPC_VLE_REL24): Likewise.
      	(R_PPC_VLE_LO16A): Likewise.
      	(R_PPC_VLE_LO16D): Likewise.
      	(R_PPC_VLE_HI16A): Likewise.
      	(R_PPC_VLE_HI16D): Likewise.
      	(R_PPC_VLE_HA16A): Likewise.
      	(R_PPC_VLE_HA16D): Likewise.
      	(R_PPC_VLE_SDA21): Likewise.
      	(R_PPC_VLE_SDA21_LO): Likewise.
      	(R_PPC_VLE_SDAREL_LO16A): Likewise.
      	(R_PPC_VLE_SDAREL_LO16D): Likewise.
      	(R_PPC_VLE_SDAREL_HI16A): Likewise.
      	(R_PPC_VLE_SDAREL_HI16D): Likewise.
      	(R_PPC_VLE_SDAREL_HA16A): Likewise.
      	(R_PPC_VLE_SDAREL_HA16D): Likewise.
      	(SEC_PPC_VLE): Remove.
      	(PF_PPC_VLE): New program header flag.
      	(SHF_PPC_VLE): New section header flag.
      	(vle_opcodes, vle_num_opcodes): New.
      	(VLE_OP): New macro.
      	(VLE_OP_TO_SEG): New macro.
      
      2012-05-14  Catherine Moore  <clm@codesourcery.com>
                  Maciej W. Rozycki  <macro@codesourcery.com>
      	    Rhonda Wittels  <rhonda@codesourcery.com>
      
      	include/opcode/
      	* ppc.h (PPC_OPCODE_VLE): New definition.
      	(PPC_OP_SA): New macro.
      	(PPC_OP_SE_VLE): New macro.
      	(PPC_OP): Use a variable shift amount.
      	(powerpc_operand): Update comments.
      	(PPC_OPSHIFT_INV): New macro.
      	(PPC_OPERAND_CR): Replace with...
      	(PPC_OPERAND_CR_BIT): ...this and
      	(PPC_OPERAND_CR_REG): ...this.
      
      2012-05-14  James Lemke  <jwlemke@codesourcery.com>
      
      	ld/
      	* ldlang.c (walk_wild_consider_section): Don't copy section_flag_list.
      	Pass it to callback.
      	(walk_wild_section_general): Pass section_flag_list to callback.
      	(lang_add_section): Add sflag_list parm.
      	Move out logic to keep / omit a section & call bfd_lookup_section_flags.
      	(output_section_callback_fast): Add sflag_list parm.
      	Add new parm to lang_add_section calls.
      	(output_section_callback): Likewise.
      	(check_section_callback): Add sflag_list parm.
      	(lang_place_orphans): Add new parm to lang_add_section calls.
      	(gc_section_callback): Add sflag_list parm.
      	(find_relro_section_callback): Likewise.
      	* ldlang.h (callback_t): Add flag_info parm.
      	(lang_add_section): Add sflag_list parm.
      	* emultempl/armelf.em (elf32_arm_add_stub_section):
      	Add lang_add_section parm.
      	* emultempl/beos.em (gld*_place_orphan): Likewise.
      	* emultempl/elf32.em (gld*_place_orphan): Likewise.
      	* emultempl/hppaelf.em (hppaelf_add_stub_section): Likewise.
      	* emultempl/m68hc1xelf.em (m68hc11elf_add_stub_section): Likewise.
      	* emultempl/mipself.em (mips_add_stub_section): Likewise.
      	* emultempl/mmo.em (mmo_place_orphan): Likewise.
      	* emultempl/pe.em (gld_*_place_orphan): Likewise.
      	* emultempl/pep.em (gld_*_place_orphan): Likewise.
      	* emultempl/ppc64elf.em (ppc_add_stub_section): Likewise.
      	* emultempl/spuelf.em (spu_place_special_section): Likewise.
      	* emultempl/vms.em (vms_place_orphan): Likewise.
      
      2012-05-14  James Lemke  <jwlemke@codesourcery.com>
      
      	ld/testsuite/
      	* ld-powerpc/powerpc.exp: Create ppceabitests.
      	* ld-powerpc/vle-multiseg.s: New.
      	* ld-powerpc/vle-multiseg-1.d: New.
      	* ld-powerpc/vle-multiseg-1.ld: New.
      	* ld-powerpc/vle-multiseg-2.d: New.
      	* ld-powerpc/vle-multiseg-2.ld: New.
      	* ld-powerpc/vle-multiseg-3.d: New.
      	* ld-powerpc/vle-multiseg-3.ld: New.
      	* ld-powerpc/vle-multiseg-4.d: New.
      	* ld-powerpc/vle-multiseg-4.ld: New.
      	* ld-powerpc/vle-multiseg-5.d: New.
      	* ld-powerpc/vle-multiseg-5.ld: New.
      	* ld-powerpc/vle-multiseg-6.d: New.
      	* ld-powerpc/vle-multiseg-6.ld: New.
      	* ld-powerpc/vle-multiseg-6a.s: New.
      	* ld-powerpc/vle-multiseg-6b.s: New.
      	* ld-powerpc/vle-multiseg-6c.s: New.
      	* ld-powerpc/vle-multiseg-6d.s: New.
      	* ld-powerpc/powerpc.exp: Run new tests.
      
      2012-05-14  Catherine Moore  <clm@codesourcery.com>
      
      	ld/
      	* NEWS:  Mention PowerPC VLE port.
      
      2012-05-14  Catherine Moore  <clm@codesourcery.com>
      
      	ld/testsuite/
      	* ld-powerpc/apuinfo.rd: Update for VLE.
      	* ld-powerpc/vle-reloc-1.d: New.
      	* ld-powerpc/vle-reloc-1.s: New.
      	* ld-powerpc/vle-reloc-2.d: New.
      	* ld-powerpc/vle-reloc-2.s: New.
      	* ld-powerpc/vle-reloc-3.d: New.
      	* ld-powerpc/vle-reloc-3.s: New.
      	* ld-powerpc/vle-reloc-def-1.s: New.
      	* ld-powerpc/vle-reloc-def-2.s: New.
      	* ld-powerpc/vle-reloc-def-3.s: New.
      
      2012-05-14  James Lemke  <jwlemke@codesourcery.com>
      
      	opcodes/
      	* ppc-dis.c (get_powerpc_dialect): Use is_ppc_vle.
      	(PPC_OPCD_SEGS, VLE_OPCD_SEGS): New defines.
      	(vle_opcd_indices): New array.
      	(lookup_vle): New function.
      	(disassemble_init_powerpc): Revise for second (VLE) opcode table.
      	(print_insn_powerpc): Likewise.
      	* ppc-opc.c: Likewise.
      
      2012-05-14  Catherine Moore  <clm@codesourcery.com>
                  Maciej W. Rozycki  <macro@codesourcery.com>
      	    Rhonda Wittels  <rhonda@codesourcery.com>
      	    Nathan Froyd <froydnj@codesourcery.com>
      
      	opcodes/
      	* ppc-opc.c (insert_arx, extract_arx): New functions.
      	(insert_ary, extract_ary): New functions.
      	(insert_li20, extract_li20): New functions.
      	(insert_rx, extract_rx): New functions.
      	(insert_ry, extract_ry): New functions.
      	(insert_sci8, extract_sci8): New functions.
      	(insert_sci8n, extract_sci8n): New functions.
      	(insert_sd4h, extract_sd4h): New functions.
      	(insert_sd4w, extract_sd4w): New functions.
      	(insert_vlesi, extract_vlesi): New functions.
      	(insert_vlensi, extract_vlensi): New functions.
      	(insert_vleui, extract_vleui): New functions.
      	(insert_vleil, extract_vleil): New functions.
       	(BI_MASK, BB_MASK, BT): Use PPC_OPERAND_CR_BIT.
       	(BI16, BI32, BO32, B8): New.
      	(B15, B24, CRD32, CRS): New.
       	(CRD, OBF, BFA, CR, CRFS): Use PPC_OPERAND_CR_REG.
      	(DB, IMM20, RD, Rx, ARX, RY, RZ): New.
      	(ARY, SCLSCI8, SCLSCI8N, SE_SD, SE_SDH): New.
      	(SH6_MASK): Use PPC_OPSHIFT_INV.
      	(SI8, UI5, OIMM5, UI7, BO16): New.
      	(VLESIMM, VLENSIMM, VLEUIMM, VLEUIMML): New.
      	(XT6, XA6, XB6, XB6S, XC6): Use PPC_OPSHIFT_INV.
      	(ALLOW8_SPRG): New.
      	(insert_sprg, extract_sprg): Check ALLOW8_SPRG.
      	(OPVUP, OPVUP_MASK OPVUP): New
      	(BD8, BD8_MASK, BD8IO, BD8IO_MASK): New.
      	(EBD8IO, EBD8IO1_MASK, EBD8IO2_MASK, EBD8IO3_MASK): New.
      	(BD15, BD15_MASK, EBD15, EBD15_MASK, EBD15BI, EBD15BI_MASK): New.
      	(BD24,BD24_MASK, C_LK, C_LK_MASK, C, C_MASK): New.
       	(IA16, IA16_MASK, I16A, I16A_MASK, I16L, I16L_MASK): New.
      	(IM7, IM7_MASK, LI20, LI20_MASK, SCI8, SCI8_MASK): New.
      	(SCI8BF, SCI8BF_MASK, SD4, SD4_MASK): New.
      	(SE_IM5, SE_IM5_MASK): New.
      	(SE_R, SE_R_MASK, SE_RR, SE_RR_MASK): New.
      	(EX, EX_MASK, BO16F, BO16T, BO32F, BO32T): New.
      	(BO32DNZ, BO32DZ): New.
      	(NO371, PPCSPE, PPCISEL, PPCEFS, MULHW): Include PPC_OPCODE_VLE.
      	(PPCVLE): New.
      	(powerpc_opcodes): Add new VLE instructions.  Update existing
      	instruction to include PPCVLE if supported.
      	* ppc-dis.c (ppc_opts): Add vle entry.
      	(get_powerpc_dialect): New function.
      	(powerpc_init_dialect): VLE support.
      	(print_insn_big_powerpc): Call get_powerpc_dialect.
      	(print_insn_little_powerpc): Likewise.
      	(operand_value_powerpc): Handle negative shift counts.
      	(print_insn_powerpc): Handle 2-byte instruction lengths.
      b9c361e0
  6. 09 Mar, 2012 1 commit
    • Alan Modra's avatar
      include/opcode/ · aea77599
      Alan Modra authored
      	* ppc.h: Add PPC_OPCODE_ALTIVEC2, PPC_OPCODE_E6500, PPC_OPCODE_TMR.
      opcodes/
      	* ppc-dis.c (ppc_opts): Add entries for "e5500" and "e6500".
      	* ppc-opc.c (insert_ls, TMR, ESYNC, XSYNCLE_MASK): New.
      	(PPCVEC2, PPCTMR, E6500): New short names.
      	(powerpc_opcodes): Add vabsdub, vabsduh, vabsduw, dni, mvidsplt,
      	mviwsplt, icblq., mftmr, mttmr, dcblq., miso, lvexbx, lvexhx,
      	lvexwx, stvexbx, stvexhx, stvexwx, lvepx, lvepxl, stvepx, stvepxl,
      	lvtrx, lvtrxl, lvtlx, lvtlxl, stvfrx, stvfrxl, stvflx, stvflxl,
      	lvswx, lvswxl, stvswx, stvswxl, lvsm mnemonics. Accept LS, ESYNC
      	optional operands on sync instruction for E6500 target.
      bfd/
      	* archures.c: Add bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500.
      	* bfd-in2.h: Regenerate.
      	* cpu-powerpc.c (bfd_powerpc_archs): Add entryies for
      	bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500.
      gas/
      	* config/tc-ppc.c (md_show_usage): Document -me5500 and -me6500.
      	(ppc_handle_align): Add termination nop opcode for e500mc family.
      	* doc/as.texinfo: Document options -me5500 and -me6500.
      	* doc/c-ppc.texi: Likewise.
      gas/testsuite/
      	* gas/ppc/e500mc64_nop.s: New test case for e500mc family
      	termination nops.
      	* gas/ppc/e500mc64_nop.d: Likewise.
      	* gas/ppc/e5500_nop.s: Likewise.
      	* gas/ppc/e5500_nop.d: Likewise.
      	* gas/ppc/e6500_nop.s: Likewise.
      	* gas/ppc/e6500_nop.d: Likewise.
      	* gas/ppc/e6500.s: New.
      	* gas/ppc/e6500.d: Likewise.
      	* gas/ppc/ppc.exp: Run e6500, e500mc64_nop, e5500_nop, and e6500_nop.
      aea77599
  7. 03 Jul, 2010 2 commits
    • Alan Modra's avatar
      include/opcode/ · bdc70b4a
      Alan Modra authored
      	* ppc.h (PPC_OPCODE_32, PPC_OPCODE_BOOKE64, PPC_OPCODE_CLASSIC): Delete.
      	Renumber other PPC_OPCODE defines.
      gas/
      	* config/tc-ppc.c (ppc_set_cpu): Remove old opcode flags.
      	(ppc_setup_opcodes): Likewise.  Simplify opcode selection.
      opcodes/
      	* ppc-dis.c (ppc_opts, powerpc_init_dialect): Remove old opcode flags.
      	* ppc-opc.c (PPC32, POWER32, COM32, CLASSIC): Delete.
      	(PPC64, MFDEC2): Update.
      	(NON32, NO371): Define.
      	(powerpc_opcode): Update to not use old opcode flags, and avoid
      	-m601 duplicates.
      bdc70b4a
    • Alan Modra's avatar
      f2bae120
  8. 14 Jun, 2010 1 commit
    • Alan Modra's avatar
      gas/ · e01d869a
      Alan Modra authored
      	* config/tc-ppc.c (md_assemble): Emit APUinfo section for
      	PPC_OPCODE_E500.
      gas/testsuite/
      	* gas/ppc/e500.s: Add eieio, mbar and lwsync
      	* gas/ppc/e500.d: Likewise.
      include/opcode/
      	* ppc.h (PPC_OPCODE_E500): Define.
      opcodes/
      	* ppc-dis.c (ppc_opts):  Remove PPC_OPCODE_E500MC from e500 and
      	e500x2. Add PPC_OPCODE_E500 to e500 and e500x2
      	* ppc-opc.c (powerpc_opcodes): Deprecate all opcodes on EFS which
      	touch floating point regs and are enabled by COM, PPC or PPCCOM.
      	Treat sync as msync on e500.  Treat eieio as mbar 1 on e500.
      	Treat lwsync as msync on e500.
      e01d869a
  9. 15 Apr, 2010 1 commit
  10. 08 Feb, 2010 1 commit
    • Alan Modra's avatar
      include/ · ce3d2015
      Alan Modra authored
      	* opcode/ppc.h (PPC_OPCODE_TITAN): Define.
      bfd/
      	* archures.c (bfd_mach_ppc_titan): Define.
      	* bfd-in2.h: Regenerate.
      	* cpu-powerpc.c (bfd_powerpc_archs): Add titan entry.
      opcodes/
      	* ppc-dis.c (ppc_opts): Add titan entry.
      	* ppc-opc.c (TITAN, MULHW): Define.
      	(powerpc_opcodes): Support AppliedMicro Titan core (APM83xxx).
      gas/
      	* config/tc-ppc.c (md_show_usage): Mention -mtitan.  Don't use tabs.
      	(ppc_mach): Handle titan.
      	* doc/c-ppc.texi: Mention -mtitan.
      gas/testsuite/
      	* gas/ppc/titan.d, * gas/ppc/titan.s: New test.
      	* gas/ppc/ppc.exp: Run it.
      ce3d2015
  11. 02 Oct, 2009 1 commit
    • Peter Bergner's avatar
      gas/ · 9fe54b1c
      Peter Bergner authored
      	* config/tc-ppc.c (md_show_usage): Document -m476.
      	* doc/c-ppc.texi (PowerPC-Opts): Document -m476.
      
      gas/testsuite/
      	* gas/ppc/476.s: New test.
      	* gas/ppc/476.d: Likewise.
      	* gas/ppc/ppc.exp: Run the 476 test.
      
      include/opcode/
      	* ppc.h (PPC_OPCODE_476): Define.
      
      opcodes/
      	* ppc-dis.c (ppc_opts): Add "476" entry.
      	* ppc-opc.c (PPC476): Define.
      	(powerpc_opcodes): Update mnemonics where required for 476.
      9fe54b1c
  12. 01 Oct, 2009 1 commit
    • Peter Bergner's avatar
      gas/ · 634b50f2
      Peter Bergner authored
      	* config/tc-ppc.c (md_show_usage): Rename "ppca2" to "a2".
      	* doc/c-ppc.texi (PowerPC-Opts): Likewise.
      
      gas/testsuite/
      	* gas/ppc/a2.d: Rename "ppca2" to "a2".
      
      include/opcode/
      	* ppc.h (PPC_OPCODE_A2): Rename from PPC_OPCODE_PPCA2.
      
      opcodes/
      	* ppc-opc.c (PPCA2): Use renamed mask PPC_OPCODE_A2.
      	* ppc-dis.c (ppc_opts): Likewise.
      	Rename "ppca2" to "a2".
      634b50f2
  13. 22 Sep, 2009 1 commit
  14. 21 Sep, 2009 1 commit
    • Ben Elliston's avatar
      gas/ · e0d602ec
      Ben Elliston authored
      	* config/tc-ppc.c (md_show_usage): Document -mpcca2.
      	* doc/c-ppc.texi (PowerPC-Opts): Document -mppca2.
      
      gas/testsuite/
      	* gas/ppc/a2.s: New.
      	* gas/ppc/a2.d: Likewise.
      	* gas/ppc/ppc.exp: Run the a2 dump test.
      
      include/opcode/
      	* ppc.h (PPC_OPCODE_PPCA2): New.
      
      opcodes/
      	* ppc-dis.c (ppc_opts): Add "ppca2" entry.
      	* ppc-opc.c (powerpc_opcodes): Add eratilx, eratsx, eratsx.,
      	eratre, wchkall, eratwe, ldawx., mdfcrx., mfdcr. mtdcrx., icswx,
      	icswx., mtdcr., dci, wclrone, wclrall, wclr, erativax, tlbsrx.,
      	ici mnemonics.
      	(ERAT_T): New operand.
      	(XWC_MASK): New mask.
      	(XOPL2): New macro.
      	(PPCA2): Define.
      e0d602ec
  15. 10 Mar, 2009 1 commit
    • Alan Modra's avatar
      include/opcode/ · 69fe9ce5
      Alan Modra authored
      	* ppc.h (ppc_parse_cpu): Declare.
      opcodes/
      	* ppc-dis.c: Include "opintl.h".
      	(struct ppc_mopt, ppc_opts): New.
      	(ppc_parse_cpu): New function.
      	(powerpc_init_dialect): Use it.
      	(print_ppc_disassembler_options): Dump options from ppc_opts.
      	Internationalize message.
      gas/
      	* config/tc-ppc.c (parse_cpu): Delete.
      	(md_parse_option, ppc_machine): Use ppc_parse_cpu.
      gas/testsuite/
      	* gas/ppc/altivec_and_spe.d (objdump): Add -Maltivec.
      	* gas/ppc/common.d: Adjust for -Mcom not including -Mppc.
      69fe9ce5
  16. 26 Feb, 2009 1 commit
    • Peter Bergner's avatar
      gas/ · 066be9f7
      Peter Bergner authored
      	* config/tc-ppc.c (pre_defined_registers): Add "f32" to "f63",
      	"f.32" to "f.63", "vs0" to "vs63" and "vs.0" to "vs.63".
      	(parse_cpu): Extend -mpower7 to accept power7 and isel instructions.
      
      gas/testsuite/
      	* gas/ppc/e500mc.d ("wait", "waitsrv", "waitimpl"): Add tests.
      	* gas/ppc/e500mc.s: Likewise.
      	* gas/ppc/power6.d ("cdtbcd", "cbcdtd", "addg6s"): Add tests.
      	* gas/ppc/power6.s: Likewise.
      	* gas/ppc/power7.d ("lfdpx", "mffgpr", "mftgpr"): Remove invalid tests.
      	("wait", "waitsrv", "waitimpl", "divwe", "divwe.", "divweo", "divweo.",
      	"divweu", "divweu.", "divweuo", "divweuo.", "bpermd", "popcntw",
      	"popcntd", "ldbrx", "stdbrx", "lfiwzx", "lfiwzx", "fcfids", "fcfids.",
      	"fcfidus", "fcfidus.", "fctiwu", "fctiwu.", "fctiwuz", "fctiwuz.",
      	"fctidu", "fctidu.", "fctiduz", "fctiduz.", "fcfidu", "fcfidu.",
      	"ftdiv", "ftdiv", "ftsqrt", "ftsqrt", "dcbtt", "dcbtstt", "dcffix",
      	"dcffix.", "lbarx", "lbarx", "lbarx", "lharx", "lharx", "lharx",
      	"stbcx.", "sthcx.", "fre", "fre.", "fres", "fres.", "frsqrte",
      	"frsqrte.", "frsqrtes", "frsqrtes.", "isel"): Add tests.
      	* gas/ppc/power7.s: Likewise.
      	* gas/ppc/vsx.d: New test.
      	* gas/ppc/vsx.s: Likewise.
      	* gas/ppc/ppc.exp: Run it.
      
      include/opcode/
      	* ppc.h (PPC_OPCODE_POWER7): New.
      
      opcodes/
      	* ppc-dis.c (powerpc_init_dialect): Extend -Mpower7 to disassemble
      	the power7 and the isel instructions.
      	* ppc-opc.c (insert_xc6, extract_xc6): New static functions.
      	(insert_dm, extract_dm): Likewise.
      	(XB6): Update comment to include XX2 form.
      	(WC, XC6, SHW, DMEX, UIM, XX2, XX3RC, XX4, XX2_MASK, XX2UIM_MASK,
      	XX2BF_MASK, XX3BF_MASK, XX3SHW_MASK, XX4_MASK, XWC_MASK, POWER7): New.
      	(RemoveXX3DM): Delete.
      	(powerpc_opcodes): <"lfdp", "lfdpx", "mcrxr", "mftb", "mffgpr",
      	"mftgpr">: Deprecate for POWER7.
      	<"fres", "fres.", "frsqrtes", "frsqrtes.", "fre", "fre.", "frsqrte",
      	"frsqrte.">: Deprecate the three operand form and enable the two
      	operand form for POWER7 and later.
      	<"wait">: Extend to accept optional parameter.  Enable for POWER7.
      	<"waitsrv", "waitimpl">: Add extended opcodes.
      	<"ldbrx", "stdbrx">: Enable for POWER7.
      	<"cdtbcd", "cbcdtd", "addg6s">: Add POWER6 opcodes.
      	<"bpermd", "dcbtstt", "dcbtt", "dcffix.", "dcffix", "divde.", "divde",
      	"divdeo.", "divdeo", "divdeu.", "divdeu", "divdeuo.", "divdeuo",
      	"divwe.", "divwe", "divweo.", "divweo", "divweu.", "divweu", "divweuo.",
      	"divweuo", "fcfids.", "fcfids", "fcfidu.", "fcfidu", "fcfidus.",
      	"fcfidus", "fctidu.", "fctidu", "fctiduz.", "fctiduz", "fctiwu.",
      	"fctiwu", "fctiwuz.", "fctiwuz", "ftdiv", "ftsqrt", "lbarx", "lfiwzx",
      	"lharx", "popcntd", "popcntw", "stbcx.", "sthcx.">: Add POWER7 opcodes.
      	<"lxsdux", "lxsdx", "lxvdsx", "lxvw4ux", "lxvw4x", "stxsdux", "stxsdx",
      	"stxvw4ux", "stxvw4x", "xsabsdp", "xsadddp", "xscmpodp", "xscmpudp",
      	"xscpsgndp", "xscvdpsp", "xscvdpsxds", "xscvdpsxws", "xscvdpuxds",
      	"xscvdpuxws", "xscvspdp", "xscvsxddp", "xscvuxddp", "xsdivdp",
      	"xsmaddadp", "xsmaddmdp", "xsmaxdp", "xsmindp", "xsmsubadp",
      	"xsmsubmdp", "xsmuldp", "xsnabsdp", "xsnegdp", "xsnmaddadp",
      	"xsnmaddmdp", "xsnmsubadp", "xsnmsubmdp", "xsrdpi", "xsrdpic",
      	"xsrdpim", "xsrdpip", "xsrdpiz", "xsredp", "xsrsqrtedp", "xssqrtdp",
      	"xssubdp", "xstdivdp", "xstsqrtdp", "xvabsdp", "xvabssp", "xvadddp",
      	"xvaddsp", "xvcmpeqdp.", "xvcmpeqdp", "xvcmpeqsp.", "xvcmpeqsp",
      	"xvcmpgedp.", "xvcmpgedp", "xvcmpgesp.", "xvcmpgesp", "xvcmpgtdp.",
      	"xvcmpgtdp", "xvcmpgtsp.", "xvcmpgtsp", "xvcpsgnsp", "xvcvdpsp",
      	"xvcvdpsxds", "xvcvdpsxws", "xvcvdpuxds", "xvcvdpuxws", "xvcvspdp",
      	"xvcvspsxds", "xvcvspsxws", "xvcvspuxds", "xvcvspuxws", "xvcvsxddp",
      	"xvcvsxdsp", "xvcvsxwdp", "xvcvsxwsp", "xvcvuxddp", "xvcvuxdsp",
      	"xvcvuxwdp", "xvcvuxwsp", "xvdivdp", "xvdivsp", "xvmaddadp",
      	"xvmaddasp", "xvmaddmdp", "xvmaddmsp", "xvmaxdp", "xvmaxsp",
      	"xvmindp", "xvminsp", "xvmovsp", "xvmsubadp", "xvmsubasp", "xvmsubmdp",
      	"xvmsubmsp", "xvmuldp", "xvmulsp", "xvnabsdp", "xvnabssp", "xvnegdp",
      	"xvnegsp", "xvnmaddadp", "xvnmaddasp", "xvnmaddmdp", "xvnmaddmsp",
      	"xvnmsubadp", "xvnmsubasp", "xvnmsubmdp", "xvnmsubmsp", "xvrdpi",
      	"xvrdpic", "xvrdpim", "xvrdpip", "xvrdpiz", "xvredp", "xvresp",
      	"xvrspi", "xvrspic", "xvrspim", "xvrspip", "xvrspiz", "xvrsqrtedp",
      	"xvrsqrtesp", "xvsqrtdp", "xvsqrtsp", "xvsubdp", "xvsubsp", "xvtdivdp",
      	"xvtdivsp", "xvtsqrtdp", "xvtsqrtsp", "xxland", "xxlandc", "xxlnor",
      	"xxlor", "xxlxor", "xxmrghw", "xxmrglw", "xxsel", "xxsldwi", "xxspltd",
      	"xxspltw", "xxswapd">: Add VSX opcodes.
      066be9f7
  17. 09 Jan, 2009 1 commit
    • Peter Bergner's avatar
      gas/ · 1cb0a767
      Peter Bergner authored
      	* config/tc-ppc.c (ppc_setup_opcodes): Remove PPC_OPCODE_NOPOWER4 test.
      	Test the new "deprecated" opcode field.
      
      include/opcode/
      	* ppc.h (struct powerpc_opcode): New field "deprecated".
      	(PPC_OPCODE_NOPOWER4): Delete.
      
      opcodes/
      	* ppc-opc.c (PPCNONE): Define.
      	(NOPOWER4): Delete.
      	(powerpc_opcodes): Initialize the new "deprecated" field.
      1cb0a767
  18. 02 Aug, 2008 1 commit
    • Peter Bergner's avatar
      gas/ · 9b4e5766
      Peter Bergner authored
      	* config/tc-ppc.c (parse_cpu): Rename altivec_or_spe to retain_flags.
      	Handle -mvsx and -mpower7.
      	(md_show_usage): Document -mpower7 and -mvsx.
      	* doc/as.texinfo (Target PowerPC): Document -mvsx.
      	* doc/c-ppc.texi (PowerPC-Opts): Document -mvsx and -mpower7.
      
      gas/testsuite/
      	* gas/ppc/power7.d: New.
      	* gas/ppc/power7.s: Likewise.
      	* gas/ppc/ppc.exp: Run power7 test.
      
      include/opcode/
      	* ppc.h (PPC_OPCODE_VSX, PPC_OPERAND_VSR): New.
      
      opcodes/
      	* ppc-dis.c (powerpc_init_dialect): Handle power7 and vsx options.
      	(print_insn_powerpc): Prepend 'vs' when printing VSX registers.
      	(print_ppc_disassembler_options): Document -Mpower7 and -Mvsx.
      	* ppc-opc.c (insert_xt6): New static function.
      	(extract_xt6): Likewise.
      	(insert_xa6): Likewise.
      	(extract_xa6: Likewise.
      	(insert_xb6): Likewise.
      	(extract_xb6): Likewise.
      	(insert_xb6s): Likewise.
      	(extract_xb6s): Likewise.
      	(XS6, XT6, XA6, XB6, XB6S, DM, XX3, XX3DM, XX1_MASK, XX3_MASK,
      	XX3DM_MASK, PPCVSX): New.
      	(powerpc_opcodes): Add opcodes "lxvd2x", "lxvd2ux", "stxvd2x",
      	"stxvd2ux", "xxmrghd", "xxmrgld", "xxpermdi", "xvmovdp", "xvcpsgndp".
      9b4e5766
  19. 30 Jul, 2008 1 commit
    • Alan Modra's avatar
      include/opcode/ · 081ba1b3
      Alan Modra authored
      	* ppc.h (PPC_OPCODE_405): Define.
      	(PPC_OPERAND_FSL, PPC_OPERAND_FCR, PPC_OPERAND_UDI): Define.
      gas/
      	* config/tc-ppc.c (parse_cpu): Separate handling of -m403/405.
      	(md_show_usage): Likewise.
      opcodes/
      	* ppc-dis.c (print_insn_powerpc): Disassemble FSL/FCR/UDI fields.
      	* ppc-opc.c (powerpc_operands): Add Xilinx APU related operands.
      	(insert_sprg, PPC405): Use PPC_OPCODE_405.
      	(powerpc_opcodes): Add Xilinx APU related opcodes.
      081ba1b3
  20. 13 Jun, 2008 1 commit
    • Peter Bergner's avatar
      include/opcode/ · fa452fa6
      Peter Bergner authored
      	* ppc.h (ppc_cpu_t): New typedef.
      	(struct powerpc_opcode <flags>): Use it.
      	(struct powerpc_operand <insert, extract>): Likewise.
      	(struct powerpc_macro <flags>): Likewise.
      
      gas/
      	* config/tc-ppc.c (ppc_cpu): Use ppc_cpu_t typedef.
      	(ppc_insert_operand): Likewise.
      	(ppc_machine): Likewise.
      	* config/tc-ppc.h: #include "opcode/ppc.h"
      	(struct _ppc_fix_extra <ppc_cpu>): Use ppc_cpu_t typedef.
      	(ppc_cpu): Update extern decl.
      
      opcodes/
      	* ppc-dis.c (print_insn_powerpc): Update prototye to use new
      	ppc_cpu_t typedef.
      	(struct dis_private): New.
      	(POWERPC_DIALECT): New define.
      	(powerpc_dialect): Renamed to...
      	(powerpc_init_dialect): This.  Update to use ppc_cpu_t and
      	struct dis_private.
      	(print_insn_big_powerpc): Update for using structure in
      	info->private_data.
      	(print_insn_little_powerpc): Likewise.
      	(operand_value_powerpc): Change type of dialect param to ppc_cpu_t.
      	(skip_optional_operands): Likewise.
      	(print_insn_powerpc): Likewise.  Remove initialization of dialect.
      	* ppc-opc.c (extract_bat, extract_bba, extract_bdm, extract_bdp,
      	extract_bo, extract_boe, extract_fxm, extract_mb6, extract_mbe,
      	extract_nb, extract_nsi, extract_rbs, extract_sh6, extract_spr,
      	extract_sprg, extract_tbr insert_bat, insert_bba, insert_bdm,
      	insert_bdp, insert_bo, insert_boe, insert_fxm, insert_mb6, insert_mbe,
      	insert_nsi, insert_ral, insert_ram, insert_raq, insert_ras, insert_rbs,
      	insert_sh6, insert_spr, insert_sprg, insert_tbr): Change the dialect
      	param to be of type ppc_cpu_t.  Update prototype.
      fa452fa6
  21. 14 Apr, 2008 1 commit
  22. 24 Aug, 2007 1 commit
    • Ben Elliston's avatar
      binutils/ · c3d65c1c
      Ben Elliston authored
      	* 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.
      c3d65c1c
  23. 02 May, 2007 1 commit
    • Alan Modra's avatar
      gas/ · 3896c469
      Alan Modra authored
      	PR 4448
      	* config/tc-ppc.c (ppc_insert_operand): Don't increase min for
      	PPC_OPERAND_PLUS1.
      include/opcode/
      	* ppc.h (PPC_OPERAND_PLUS1): Update comment.
      3896c469
  24. 20 Apr, 2007 1 commit
    • Alan Modra's avatar
      include/opcode/ · b84bf58a
      Alan Modra authored
      	* 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.
      b84bf58a
  25. 24 Oct, 2006 1 commit
  26. 07 Jun, 2006 1 commit
    • Alan Modra's avatar
      include/opcode/ · 9622b051
      Alan Modra authored
      	* ppc.h (PPC_OPCODE_POWER6): Define.
      	Adjust whitespace.
      gas/
      	* config/tc-ppc.c (parse_cpu): Handle "-mpower6".
      	(md_show_usage): Document it.
      	(ppc_setup_opcodes): Test power6 opcode flag bits.
      	* doc/c-ppc.texi (PowerPC-Opts): Document "-mpower6".
      opcodes/
      	* ppc-dis.c (powerpc_dialect): Handle power6 option.
      	(print_ppc_disassembler_options): Mention power6.
      9622b051
  27. 15 Aug, 2005 1 commit
    • Daniel Jacobowitz's avatar
      gas/ · 36ae0db3
      Daniel Jacobowitz authored
      	* 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.
      36ae0db3
  28. 19 May, 2005 1 commit
  29. 10 May, 2005 1 commit
  30. 09 Sep, 2004 1 commit
    • Alan Modra's avatar
      opcodes/ · 2a309db0
      Alan Modra authored
      	* ppc-opc.c (L): Make this field not optional.
      include/opcode/
      	* ppc.h (PPC_OPERAND_OPTIONAL): Fix comment.
      2a309db0
  31. 16 Mar, 2004 1 commit
    • Alan Modra's avatar
      opcodes/ · fdd12ef3
      Alan Modra authored
      	* 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/.
      fdd12ef3
  32. 19 Aug, 2003 1 commit
  33. 07 Aug, 2003 1 commit
  34. 10 Jun, 2003 1 commit
  35. 19 Aug, 2002 1 commit
    • Elena Zannoni's avatar
      2002-08-19 Elena Zannoni <ezannoni@redhat.com> · 0449635d
      Elena Zannoni authored
              From matthew green  <mrg@redhat.com>
      
              * ppc.h (PPC_OPCODE_SPE): New opcode flag for Powerpc e500
              instructions.
              (PPC_OPCODE_ISEL, PPC_OPCODE_BRLOCK, PPC_OPCODE_PMR,
              PPC_OPCODE_CACHELCK, PPC_OPCODE_RFMCI): New opcode flags for the
              e500x2 Integer select, branch locking, performance monitor,
              cache locking and machine check APUs, respectively.
              (PPC_OPCODE_EFS): New opcode type for efs* instructions.
              (PPC_OPCODE_CLASSIC): New opcode type for Classic PowerPC instructions.
      0449635d
  36. 25 Feb, 2002 1 commit
  37. 03 Jan, 2002 1 commit
    • Matthew Green's avatar
      [gas/ChangeLog] · a09cf9bd
      Matthew Green authored
      * config/tc-ppc.c (md_parse_option): BookE is not Motorola specific.
      
      [include/opcode/ChangeLog]
      * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific.
      (PPC_OPCODE_BOOKE64): Likewise.
      a09cf9bd
  38. 15 Nov, 2001 1 commit
    • Alan Modra's avatar
      binutils/ChangeLog · 802a735e
      Alan Modra authored
      	* 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.
      802a735e
  39. 17 Oct, 2001 1 commit
    • Matthew Green's avatar
      [gas/ChangeLog] · f5c120c5
      Matthew Green authored
      	* 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.
      f5c120c5