bfd/
* elf32-spu.c (struct spu_link_hash_table): Add init, line_size_log2,
num_lines_log2.
(struct got_entry): Add br_addr.
(struct call_info): Add priority.
(struct function_info): Add lr_store and sp_adjust.
(spu_elf_setup): Init line_size_log2 and num_lines_log2.
(spu_elf_find_overlays): For soft-icache, mark any section within cache
area as an overlay, and check that no other overlays exist. Look up
icache overlay manager entry sym.
(BRA_STUBS, BRA, BRASL): Define.
(enum _stub_type): Replace ovl_stub with call_ovl_stub and br*_ovl_stub.
(needs_ovl_stub): Adjust for soft-icache. Return priority encoded
in branch insn.
(count_stub, build_stub): Support soft-icache.
(build_spuear_stubs, process_stubs): Adjust build_stub call.
(spu_elf_size_stubs): Size soft-icache stubs.
(overlay_index): New function.
(spu_elf_build_stubs): Make static. Support soft-icache.
(spu_elf_check_vma): Don't turn off auto_overlay if soft-icache.
(find_function_stack_adjust): Save lr store and stack adjust insn
offsets.
(maybe_insert_function): Adjust find_function_stack_adjust call.
(mark_functions_via_relocs): Retrieve priority.
(remove_cycles): Only warn about pruned arcs when stack_analysis.
(sort_calls): Sort by priority first.
(mark_overlay_section): Ignore .ovl.init.
(sum_stack): Only print when stack_analysis.
(print_one_overlay_section): New function, extracted from..
(spu_elf_auto_overlay): ..here. Support soft-icache overlays.
(spu_elf_stack_analysis): Only print when htab->stack_analysis.
(spu_elf_final_link): Call spu_elf_stack_analysis for lrlive
analysis. Call spu_elf_build_stubs.
(spu_elf_relocate_section): For soft-icache encode overlay index
into addresses.
(spu_elf_output_symbol_hook): Support soft-icache.
(spu_elf_modify_program_headers: Likewise.
* elf32-spu.h (struct spu_elf_params): Add lrlive_analysis. Rename
num_regions to num_lines. Add line_size and max_branch.
(enum _ovly_flavour): Add ovly_soft_icache.
(spu_elf_build_stubs): Delete.
gas/
* config/tc-spu.c (md_pseudo_table): Add "brinfo".
(brinfo): New var.
(md_assemble): Poke brinfo into branch instructions.
(spu_brinfo): New function.
(md_apply_fix): Don't assume insn fields start off at zero, mask
them to remove possible brinfo.
ld/
* emultempl/spuelf.em (params): Init new fields.
(num_lines_set, line_size_set, icache_mgr, icache_mgr_stream): New vars.
(spu_place_special_section): Adjust placement for soft-icache. Pad
soft-icache section to a fixed size. Clear addr_tree.
(spu_elf_load_ovl_mgr): Support soft-icache. Map overlay manager
sections a little more intelligently.
(gld${EMULATION_NAME}_finish): Don't call spu_elf_build_stubs.
(OPTION_SPU_NUM_LINES): Rename from OPTION_SPU_NUM_REGIONS.
(OPTION_SPU_SOFT_ICACHE, OPTION_SPU_LINE_SIZE): Define.
(OPTION_SPU_LRLIVE): Define.
(PARSE_AND_LIST_LONGOPTS): Add new soft-icache options.
(PARSE_AND_LIST_OPTIONS): Likewise.
(PARSE_AND_LIST_ARGS_CASES): Handle them.
* emultempl/spu_icache.S: Dummy file.
* emultempl/spu_icache.o_c: Regenerate.
* Makefile.am (eelf32_spu.c): Depend on spu_icache.o_c.
(spu_icache.o_c): Add rule to build.
(CLEANFILES): Zap temp files.
(EXTRA_DIST): Add spu_icache.o_c.
* Makefile.in: Regenerate.
ld/testsuite/
* ld-spu/ovl.d: Allow for absolute branches in stubs.
* ld-spu/ovl2.d: Likewise.
2009-01-12 00:23:58 +00:00
|
|
|
|
2009-01-12 Alan Modra <amodra@bigpond.net.au>
|
|
|
|
|
|
|
|
|
|
* config/tc-spu.c (md_pseudo_table): Add "brinfo".
|
|
|
|
|
(brinfo): New var.
|
|
|
|
|
(md_assemble): Poke brinfo into branch instructions.
|
|
|
|
|
(spu_brinfo): New function.
|
|
|
|
|
(md_apply_fix): Don't assume insn fields start off at zero, mask
|
|
|
|
|
them to remove possible brinfo.
|
|
|
|
|
|
2009-01-10 18:33:35 +00:00
|
|
|
|
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* doc/c-i386.texi: Reformat.
|
|
|
|
|
|
gas/
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
* gas/config/tc-i386.c (cpu_arch): Add corei7, .clflush and
.syscall.
(i386_align_code): Handle PROCESSOR_COREI7.
(md_show_usage): Add corei7, clflush and syscall.
(i386_target_format): Replace cpup4 with cpuclflush.
* gas/config/tc-i386.h (processor_type): Add PROCESSOR_COREI7.
* doc/c-i386.texi: Document corei7, clflush and syscall.
gas/testsuite/
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/arch-10.s: Add clflush and syscall.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/arch-10.d: Updated.
* gas/i386/arch-10-1.l: Likewise.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
opcodes/
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (cpu_flag_init): Replace CpuP4 and CpuK6 with
CpuClflush and CpuSYSCALL, respectively. Remove CpuK8. Add
CPU_COREI7_FLAGS, CPU_CLFLUSH_FLAGS and CPU_SYSCALL_FLAGS.
(cpu_flags): Remove CpuP4, CpuK6 and CpuK8. Add CpuClflush
and CpuSYSCALL.
(lineno): Removed.
(set_bitfield): Take an argument, lineno. Don't report lineno
on error if it is -1.
(process_i386_cpu_flag): Take an argument, lineno.
(process_i386_opcode_modifier): Likewise.
(process_i386_operand_type): Likewise.
(output_i386_opcode): Likewise.
(opcode_hash_entry): Add lineno.
(process_i386_opcodes): Updated.
(process_i386_registers): Likewise.
(process_i386_initializers): Likewise.
* i386-opc.h (CpuP4): Removed.
(CpuK6): Likewise.
(CpuK8): Likewise.
(CpuClflush): New.
(CpuSYSCALL): Likewise.
(CpuMMX): Updated.
(i386_cpu_flags): Remove cpup4, cpuk6 and cpuk8. Add
cpuclflush and cpusyscall.
* i386-opc.tbl: Update movnti, clflush, lfence, mfence, pause,
syscall and sysret.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
2009-01-10 17:25:52 +00:00
|
|
|
|
2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* gas/config/tc-i386.c (cpu_arch): Add corei7, .clflush and
|
|
|
|
|
.syscall.
|
|
|
|
|
(i386_align_code): Handle PROCESSOR_COREI7.
|
|
|
|
|
(md_show_usage): Add corei7, clflush and syscall.
|
|
|
|
|
(i386_target_format): Replace cpup4 with cpuclflush.
|
|
|
|
|
|
|
|
|
|
* gas/config/tc-i386.h (processor_type): Add PROCESSOR_COREI7.
|
|
|
|
|
|
|
|
|
|
* doc/c-i386.texi: Document corei7, clflush and syscall.
|
|
|
|
|
|
2009-01-09 20:32:32 +00:00
|
|
|
|
2009-01-09 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* config/tc-i386.c (cpu_arch): Add .rdtscp.
|
|
|
|
|
(md_show_usage): Display rdtscp.
|
|
|
|
|
|
|
|
|
|
* doc/c-i386.texi: Document rdtscp.
|
|
|
|
|
|
2009-01-09 18:50:58 +00:00
|
|
|
|
2009-01-09 Peter Bergner <bergner@vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
* config/tc-ppc.c (ppc_setup_opcodes): Remove PPC_OPCODE_NOPOWER4 test.
|
|
|
|
|
Test the new "deprecated" opcode field.
|
|
|
|
|
|
2009-01-07 17:41:09 +00:00
|
|
|
|
2009-01-07 Sterling Augustine <sterling@tensilica.com>
|
|
|
|
|
|
|
|
|
|
* config/tc-xtensa.c (produce_flix): New.
|
|
|
|
|
(option_flix, optoin_no_generate_flix, option_no_flix) Define.
|
|
|
|
|
(md_longopts): Add support for them.
|
|
|
|
|
(md_parse_option): Likewise.
|
|
|
|
|
(md_show_usage): Add help message.
|
|
|
|
|
(finish_vinsn): Don't allow multi-slot flix when produce_flix
|
|
|
|
|
option is set to FLIX_NONE.
|
|
|
|
|
* config/xtensa-relax.c (transition_applies): Only relax to
|
|
|
|
|
flix branches when produce_flix equals FLIX_ALL.
|
|
|
|
|
* config/xtensa-relax.h (flix_level, FLIX_ALL, FLIX_NO_GENERATE
|
|
|
|
|
FLIX_NONE): New.
|
|
|
|
|
(produce_flix): Declare.
|
|
|
|
|
|
2009-01-06 19:22:11 +00:00
|
|
|
|
2009-01-06 Chao-ying Fu <fu@mips.com>
|
|
|
|
|
|
|
|
|
|
* config/tc-mips.c (mips_ip): Set lastregno to 0xffffffff.
|
|
|
|
|
Use strncmp to match jalr and jalr.hb.
|
|
|
|
|
Fix a typo.
|
|
|
|
|
|
2009-01-06 01:03:27 +00:00
|
|
|
|
2009-01-05 H.J. Lu <hongjiu.lu@intel.com>
|
2008-07-04 13:04:04 +00:00
|
|
|
|
|
2009-01-06 01:03:27 +00:00
|
|
|
|
AVX Programming Reference (December, 2008)
|
|
|
|
|
* config/tc-i386.c (build_modrm_byte): Remove 5 operand instruction
|
|
|
|
|
support. Don't swap REG and NDS for FMA.
|
2008-07-04 13:04:04 +00:00
|
|
|
|
|
2009-01-06 01:03:27 +00:00
|
|
|
|
2009-01-02 Matthias Klose <doko@ubuntu.com>
|
2008-01-02 20:59:47 +00:00
|
|
|
|
|
2009-01-06 01:03:27 +00:00
|
|
|
|
* itbl-ops.c (itbl_disassemble): Don't rely on undefined sprintf
|
|
|
|
|
behaviour.
|
2008-01-02 20:59:47 +00:00
|
|
|
|
|
2009-01-06 01:03:27 +00:00
|
|
|
|
For older changes see ChangeLog-2008
|
2002-01-07 12:12:47 +00:00
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|