- 22 Apr, 2008 2 commits
-
-
nickc authored
argument register count. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134553 138bc75d-0d04-0410-961f-82ee72b054a4
-
mkuvyrkov authored
Improve scheduling of multiplication instructions. * config/m68k/m68k.md (cpu): Add cfv1 and cfv3. Rename cf_v2 to cfv1. (mac): New instruction attribute. * config/m68k/m68k.c (override_options): Handle cfv1, cfv3 and mac. (m68k_sched_mac): New variable. (m68k_sched_attr_type2, m68k_sched_md_init_global): Update. Handle cfv1 and cfv3. (max_insn_size): New static variable. (struct _sched_ib): New type. (sched_ib): New static variable. (sched_ib_size, sched_ib_filled, sched_ib_insn): Convert variables to fields of 'struct _sched_ib sched_ib'. Update all uses. (m68k_sched_variable_issue): Add modeling of cfv3 instruction buffer. Update. (m68k_sched_md_init_global, m68k_sched_md_finish_global, m68k_sched_md_init, m68k_sched_md_finish): Handle cfv1 and cfv3. Init new variables. Update. (m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle): Add modeling of cfv3 instruction buffer. Update. * config/m68k/m68k-protos.h (m68k_sched_mac): Declare. * config/m68k/m68k.h (TUNE_CFV3): New macro. * config/m68k/cf.md: Change substrings 'cf_v2' to 'cfv12' or 'cfv123'. (cf_* reservations): Rename to cfv12 or cfv123 to indicate cores a particular reservation applies to. (type2): Reorganize attribute values. Rename alu to alu_reg, alu_l to alu, move_l to omove. Join move to alu. Split mul to mul_l and mul_w. (cf_ib_*): Simplify description of instruction buffer. (cf_ib_w0, cf_ib_w4, cf_ib_w5, cf_ib_w6): Remove. (cf_mem): Split into cf_mem1 and cf_mem2. (cf_v2_move_??): Rename to cfv12_alu_??. (cf_v2_move_l_??): Rename to cfv12_omove_??. (cf_v2_mul_??): Remove reservations. (cfv12_mul_l_??, cfv12_mul_w_??, cfv12_mac_w_??, cfv12_mac_l_??, cfv12_emac_??, cfv12_emac_w_i0): New reservations. (cfv12_rts, cfv12_call, cfv12_bcc, cfv12_bra, cfv12_jmp): Move to appropriate place. (cfv3_alu_10, cfv3_omove_10, cfv3_alu_i0, cfv3_omove_i0, cfv3_alu_01, cfv3_alu_0i, cfv3_alu_11, cfv3_omove_11, cfv3_alu_i1, cfv3_omove_i1, cfv3_alu_1i, cfv3_omove_1i, cfv3_pea_11, cfv3_pea_i1, cfv3_mul_w_10, cfv3_mul_l_10, cfv3_mul_w_i0, cfv3_mac_w_10, cfv3_mac_l_10, cfv3_mac_w_i0, cfv3_emac_10, cfv3_emac_w_i0, cfv3_rts, cfv3_call, cfv3_bcc, cfv3_bra, cfv3_jmp): New reservations. (cfv3_*_1, cfv3_*_2, cfv3_*_3): New instruction reservations that are expansions of the above reservations for instructions of sizes 1, 2 and 3 words. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134552 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 18 Apr, 2008 1 commit
-
-
hubicka authored
* except.c (dw2_size_of_call_site_table, sjlj_size_of_call_site_table): Use vector API for call_site_record. * cgraphbuild.c (build_cgraph_edges): Update. * tree-pass.h: Update comment. * final.c (leaf_function_p): Update. (leaf_renumber_regs): Update. (rest_of_clean_state): Update. * omp-low.c (expand_omp_parallel): Update. * ipa-reference.c (analyze_function): Update. * reorg.c (find_end_label): Update. (optimize_skip): Update. (fill_simple_delay_slots): Update. (fill_simple_delay_slots): Update. (make_return_insns): Update. (dbr_schedule): Update. * gimple-low.c (record_vars_into): Update. * cfgbuild.c (make_edges): Update. * function.c (assign_stack_local): Update. (assign_parm_adjust_stack_rtl): Update. (locate_and_pad_parm): Update. (allocate_struct_function): Do not initialize stack_alignment_needed and preferred_stack_boundary here. (stack_protect_prologue): Update. (stack_protect_epilogue): Update. (expand_function_start): Initialize stack_alignment_needed, preferred_stack_boundary and max_jumptable_ents. (expand_function_end): Update. (free_after_compilation): Do not NULLify epilogue_delay_list. * function.h (struct rtl_data): Add stack_protect_guard, stack_alignment_needed, preferred_stack_boundary, epilogue_delay_list. (struct function): Remove value_histograms, stack_alignment_needed, preferred_stack_boundary, epilogue_delay_list, max_jumptable_ents, last_label_uid, unexpanded_var_list, stack_protect_guard. (current_function_epilogue_delay_list): Remove. * ipa-type-escape.c (analyze_function): Update. * gimplify.c (pop_gimplify_context): Update comment. * calls.c (expand_call): Update. (emit_library_call_value_1): Update. * except.c (set_nothrow_function_flags): Update. * cfgexpand.c (get_decl_align_unit): Update. (create_stack_guard): Update. (estimated_stack_frame_size): Update. (expand_used_vars): Update. (tree_expand_cfg): Free histogram earliers, init expansion variables. * explow.c (allocate_dynamic_stack_space): Update. * tree-ssa-live.c (remove_unused_locals): Update. * varasm.c (mark_constant_pool): Update. * tree-inline.c (remap_decls): Update. (initialize_cfun): Update. (declare_return_variable): Update. (inline_forbidden_p): Update. (expand_call_inline): Update. (declare_inline_vars): Update. (tree_function_versioning): Update. * tree-flow.h (value_histograms): New. (VALUE_HISTOGRAMS): New macro. * basic-block.h (control_flow_graph): Add max_jumptable_ents, last_label_uid. * tree-cfg.c (set_bb_for_stmt): Update. (replace_by_duplicate_decl): Update. (move_block_to_fn): Update. (new_label_mapper): Update. (dump_function_to_file): Update. * ipa-struct-reorg.c (build_data_structure): Update. * cfgrtl.c (print_rtl_with_bb): Update. * reload1.c (reload): Update. (reload): Update. * config/i386/i386.c (setup_incoming_varargs_64, ix86_compute_frame_layout): Update. * config/arc/arc.c (arc_output_function_epilogue): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134425 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 17 Apr, 2008 4 commits
-
-
uros authored
to split_ti instead of three separate calls with single member arrays. (subti3 splitter): Ditto. (adddi3 splitter): Ditto with split_di. (subdi3 splitter): Ditto. (negti2 splitter): Pass arrays of 2 operands to split_ti instead of two separate calls with single member arrays. Swap match_dup operands 1 and 2 to better fit into the array. (negdi2 splitter): Ditto with split_di. (movdfcc splitter): Pass arrays of 2 operands to split_di instead of two separate calls with single member arrays. Swap match_dup operands 6 and 7 to better fit into the array. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134403 138bc75d-0d04-0410-961f-82ee72b054a4
-
hjl authored
* config/i386/i386.c (sse_builtin_type): New. (bdesc_sse_args): Likewise. (bdesc_sse_3arg): Removed. (bdesc_2arg): Remove IX86_BUILTIN_AESKEYGENASSIST128. (bdesc_1arg): Remove IX86_BUILTIN_ROUNDPD and IX86_BUILTIN_ROUNDPS. (ix86_init_mmx_sse_builtins): Handle bdesc_sse_args. Remove bdesc_sse_3arg. Remove IX86_BUILTIN_ROUNDPD and IX86_BUILTIN_ROUNDPS. (ix86_expand_sse_4_operands_builtin): Removed. (ix86_expand_sse_operands_builtin): New. (ix86_expand_unop_builtin): Remove CODE_FOR_sse4_1_roundpd and CODE_FOR_sse4_1_roundps. (ix86_expand_builtin): Remove IX86_BUILTIN_AESKEYGENASSIST128. Handle bdesc_sse_args. Remove bdesc_sse_3arg. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134391 138bc75d-0d04-0410-961f-82ee72b054a4
-
amodra authored
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Restore vr and vrsave regs before frame pop when needed. If use_backchain_to_restore_sp then load backchain into a temp reg to restore vr and vrsave. Add code to restore vr after frame pop if possible. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134387 138bc75d-0d04-0410-961f-82ee72b054a4
-
chrbr authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134380 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 16 Apr, 2008 1 commit
-
-
uros authored
* config/i386/i386.md (fmodxf3): Copy operand 1 and operand 2 into temporary registers. Change operand predicate to general_operand. (remainderxf3): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134348 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 15 Apr, 2008 2 commits
-
-
dougkwan authored
* dwarf2asm.c (dw2_assemble_integer): Cast to unsigned HOST_WIDE_INT for hex printing. * tree-pretty-print.c (dump_generic_node): Ditto. * final.c (output_addr_const): Ditto. * dwarf2out.c (output_cfi): Ditto. * c-pretty-print.c (pp_c_integer_constant): Ditto. * print-rtl.c (print_rtx): Ditto. * print-tree.c (print_node_brief, print_node): Ditto. * c-common.c (match_case_to_enum_1): Ditto. * sched-vis.c (print_value): Ditto. * config/i386/i386.c (print_operand): Cast to long unsigned int for hex printing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134331 138bc75d-0d04-0410-961f-82ee72b054a4
-
bje authored
* config/alpha/alpha.c (alpha_initialize_trampoline): Remove temp, temp1 local variables. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134299 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 14 Apr, 2008 4 commits
-
-
dannysmith authored
PR target/35661 * config/i386/winnt.c (i386_pe_section_type_flags): Mark ".text.unlikely" section as executable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134296 138bc75d-0d04-0410-961f-82ee72b054a4
-
wilson authored
UNSPEC_FR_SQRT_RECIP_APPROX_RES. * config/ia64/ia64.c (UNSPEC_FR_SQRT_RECIP_APPROX_RES): Define. (divsi3_internal, divdi3_internal_lat, divdi3_internal_thr, divsf3_internal_lat, sqrt_approx, sqrtsf2_internal_thr, divdf3_internal_lat, sqrtdf2_internal_thr, divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr, recip_approx): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134295 138bc75d-0d04-0410-961f-82ee72b054a4
-
bernds authored
GPLv3, and fix the copyright year. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134277 138bc75d-0d04-0410-961f-82ee72b054a4
-
bernds authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134276 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 13 Apr, 2008 3 commits
-
-
hubicka authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134240 138bc75d-0d04-0410-961f-82ee72b054a4
-
pinskia authored
* config/rs6000/rs6000.c (compute_save_world_info): Set lr_save_p if we are going to "save the world". 2008-04-12 Andrew Pinski <pinskia@gmail.com> * gcc.target/powerpc/darwin-save-world-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134237 138bc75d-0d04-0410-961f-82ee72b054a4
-
hp authored
("*andqi_lowpart_non_v32", "*andqi_lowpart_v32"): Use "+" for the operand 0 constraint, not "=". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134236 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 11 Apr, 2008 1 commit
-
-
bernds authored
* config/bfin/bfin.md: Include it. (adddi3): Use satisfies_constraint functions instead of the old macros. * config/bfin/bfin.h (REG_CLASS_FROM_LETTER, CONSTRAINT_LEN, CONST_18UBIT_IMM_P, CONST_16BIT_IMM_P, CONST_16UBIT_IMM_P, CONST_7BIT_IMM_P, CONST_7NBIT_IMM_P, CONST_5UBIT_IMM_P, CONST_4BIT_IMM_P, CONST_4UBIT_IMM_P, CONST_3BIT_IMM_P, CONST_3UBIT_IMM_P, CONST_OK_FOR_K, CONST_OK_FOR_P, CONST_OK_FOR_M, CONST_OK_FOR_CONSTRAINT_P, CONST_DOUBLE_OK_FOR_LETTER, EXTRA_CONSTRAINT): Delete. * config/bfin/predicates.md (highbits_operand, reg_or_7bit_operand, reg_or_neg7bit_operand): Use satisfies_constraint functions instead of the old macros. * config/bfin/bfin.c: Include "tm-constrs.h". (bfin_secondary_reload, split_load_immediate, bfin_rtx_costs): Use satisfies_constraint functions instead of the old macros. * doc/md.texi (Blackfin Constraints): Update file name reference. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134198 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 10 Apr, 2008 5 commits
-
-
danglin authored
* pa.md: Define mode iterator P. Define mode attribute dwc. (dcacheflush): Update pattern to use iterator P and attribute dwc. (icacheflush): Likewise. * pa.h (INITIALIZE_TRAMPOLINE): Use dcacheflushsi/icacheflushsi if !TARGET_64BIT, and dcacheflushdi/icacheflushdi if TARGET_64BIT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134182 138bc75d-0d04-0410-961f-82ee72b054a4
-
bje authored
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134181 138bc75d-0d04-0410-961f-82ee72b054a4
-
nemet authored
(seq): Add comment. (*seq_<mode>, *seq_<mode>_mips16, *sne_<mode>, *sgt<u>_<mode>, *sgt<u>_<mode>_mips16, *sge<u>_<mode>, *slt<u>_<mode>, *slt<u>_<mode>_mips16 *sle<u>_<mode>, *sle<u>_<mode>_mips16): Rewrite these to take two modes, the mode of comparison and the mode of the destination. * config/mips/mips.c (mips_expand_scc): Instead of having paradoxical subreg as destination, expand "narrowing" scc if mode of comparison is SI and target is requested in DI mode. (mips_emit_int_order_test): Update comment. Make mode of comparison match CMP0 rather than TARGET. When creating inverse target use mode of TARGET. testsuite/ * gcc.target/mips/scc-2.c: New test. * gcc.target/mips/scc-3.c: New test. * gcc.target/mips/scc-4.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134167 138bc75d-0d04-0410-961f-82ee72b054a4
-
uros authored
(absnegprefix): New code attribute. (<code><mode>2): Macroize expander from abs<mode>2 and neg<mode>2 patterns using absneg code iterator. (<code>tf2): Macroize expander from abstf2 and negtf2 patterns using absneg code iterator. (*<code><mode>2_1): Macroize insn pattern from *abs<mode>2_1 and *neg<mode>2 patterns using absneg code iterator. (*<code>extendsfdf2): Macroize insn pattern from *absextendsfdf2 and *negextendsfdf2 patterns using absneg code iterator. (*<code>extendsfxf2): Macroize insn pattern from *absextendsfxf2 and *negextendsfxf2 patterns using absneg code iterator. (*<code>extendsfdf2): Macroize insn pattern from *absextendsfdf2 and *negextendsfdf2 patterns using absneg code iterator. * config/i386/sse.md (<code><mode>2): Macroize expander from abs<mode>2 and neg<mode>2 patterns using absneg code iterator. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134165 138bc75d-0d04-0410-961f-82ee72b054a4
-
krebbel authored
* config/s390/s390.h: Remove the remains of the recent search & replace action of current_function_outgoing_args_size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134164 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 08 Apr, 2008 6 commits
-
-
janis authored
* config/rs6000/rs6000.c (rs6000_check_sdmode): Handle additional kinds of indirect references. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134107 138bc75d-0d04-0410-961f-82ee72b054a4
-
dje authored
GNU Fortran language string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134106 138bc75d-0d04-0410-961f-82ee72b054a4
-
ktietz authored
* config/i386/mingw32.h (ENABLE_EXECUTE_STACK): New. (MINGW_ENABLE_EXECUTE_STACK): New. (IN_LIBGCC2): For libgcc include windows.h file for function declarations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134089 138bc75d-0d04-0410-961f-82ee72b054a4
-
hp authored
and tem2 if tem1 is not a REG or MULT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134088 138bc75d-0d04-0410-961f-82ee72b054a4
-
hubicka authored
* function.h (incomming_args): Break out of struct function. (function_subsections): Break out of struct function. (rtl_data): Add args, subsections fields. Break out outgoing_args_size, return_rtx and hard_reg_initial_vals from struct function. Kill inl_max_label_num. (current_function_pops_args, current_function_args_info, current_function_args_size, current_function_args_size, current_function_pretend_args_size, current_function_outgoing_args_size, current_function_internal_arg_pointer, current_function_return_rtx): Kill compatibility accestor macros. * builtins.c (expand_builtin_apply_args_1): Update. (expand_builtin_next_arg): Update. * df-scan.c (df_get_call_refs): Update. * dbxout.c (dbxout_function_end): Update. * dwarf2out.c (dwarf2out_switch_text_section): Update. (output_line_info): Update. (secname_for_decl): Update. (dwarf2out_var_location): Update. * function.c (free_after_compilation): Update. (assign_parm_find_stack_rtl): Update. (assign_parms): Update. (expand_dummy_function_end): Update. (expand_function_end): Update. * calls.c (mem_overlaps_already_clobbered_arg_p): Update. (expand_call): Update. (emit_library_call_value_1): Update. (store_one_arg): Update. * varasm.c (initialize_cold_section_name): Update. (unlikely_text_section): Update. (unlikely_text_section_p): Update. (assemble_start_function): Update. (assemble_end_function): Update. (default_section_type_flags): Update. (switch_to_section): Update. * integrate.c (set_decl_abstract_flags): Update. (get_hard_reg_initial_val): Update. (has_hard_reg_initial_val): Update. (allocate_initial_values): Update. * resource.c (init_resource_info): Update. * config/alpha/alpha.c (NUM_ARGS): Update. (direct_return): Update. (alpha_va_start): Update. (alpha_sa_size): Update. (alpha_initial_elimination_offset): Update. (alpha_expand_prologue): Update. (alpha_start_function): Update. (alpha_expand_epilogue): Update. (unicosmk_initial_elimination_offset): * config/alpha/alpha.md (call expander): Update. * config/s390/s390.c (s390_register_info): Update. (s390_register_info): Update. (s390_frame_info): Update. (s390_initial_elimination_offset): Update. (s390_build_builtin_va_list): Update. (s390_va_start): Update. * config/spu/spu.c (direct_return): Update. (spu_expand_prologue): Update. (spu_initial_elimination_offset): Update. (spu_build_builtin_va_list): Update. (spu_va_start): Update. * config/sparc/sparc.c (sparc_init_modes): Update. (sparc_compute_frame_size): Update. (function_value): Update. * config/m32r/m32r.c (m32r_compute_frame_size): Update. * config/i386/i386.md (return expander): Update. * config/i386/i386.c (ix86_va_start): Update. (ix86_can_use_return_insn_p): Update. (ix86_compute_frame_layout): Update. (ix86_expand_epilogue): Update. * config/sh/sh.c (output_stack_adjust): Update. (calc_live_regs): Update. (sh_expand_prologue): Update. (sh_builtin_saveregs): Update. (sh_va_start): Update. (initial_elimination_offset): Update. (sh_allocate_initial_value): Update. (sh_function_ok_for_sibcall): Update. (sh_get_pr_initial_val): Update. * config/sh/sh.md (return expander): Update. * config/avr/avr.c (frame_pointer_required_p): UPdate. * config/crx/crx.c (crx_compute_frame): UPdate. (crx_initial_elimination_offset): UPdate. * config/xtensa/xtensa.c (compute_frame_size): Update (xtensa_builtin_saveregs): Update. (xtensa_va_start): Update. (order_regs_for_local_alloc): Update. * config/stormy16/stormy16.c (xstormy16_compute_stack_layout): Update. (xstormy16_expand_builtin_va_start): Update. * config/fr30/fr30.c (fr30_compute_frame_size): Update. * config/m68hc11/m68hc11.md (return expanders): Update. * config/m68hc11/m68hc11.c (expand_prologue): Update. (expand_epilogue): Update. * config/cris/cris.c (cris_initial_frame_pointer_offset): Update. (cris_simple_epilogue): Update. (cris_expand_prologue): Update. (cris_expand_epilogue): Update. * config/iq2000/iq2000.c (iq2000_va_start): Update. (compute_frame_size): Update. * config/mt/mt.c (mt_compute_frame_size): Update. * config/mn10300/mn10300.c (expand_prologue): Update. (expand_epilogue): Update. (initial_offset): Update. (mn10300_builtin_saveregs): * config/mn10300/mn10300.md (return expander): Update. * config/ia64/ia64.c (ia64_compute_frame_size): Update. (ia64_initial_elimination_offset): Update. (ia64_initial_elimination_offset): Update. (ia64_expand_prologue): Update. * config/m68k/m68k.md (return expander): Update. * config/rs6000/rs6000.c (rs6000_va_start): Update. (rs6000_stack_info): Update. * config/mcore/mcore.c (layout_mcore_frame): Update. (mcore_expand_prolog): Update. * config/arc/arc.c (arc_compute_frame_size): Update. * config/score/score3.c (score3_compute_frame_size): Update. * config/score/score7.c (score7_compute_frame_size): Update. * config/arm/arm.c (use_return_insn): Update. (thumb_find_work_register): Update. (arm_compute_save_reg_mask): Update. (arm_output_function_prologue): Update. (arm_output_epilogue): Update. (arm_size_return_regs): Update. (arm_get_frame_offsets): Update. (arm_expand_prologue): Update. (thumb_exit): Update. (thumb_unexpanded_epilogue): Update. (thumb1_output_function_prologue): Update. * config/pa/pa.md (return expander): Update. * config/pa/pa.c (compute_frame_size): Update. (hppa_builtin_saveregs): Update. * config/mips/mips.c (mips_va_start): Update. (mips16_build_function_stub): Update. (mips_compute_frame_info): Update. (mips_restore_gp): Update. (mips_output_function_prologue): Update. (mips_expand_prologue): Update. * config/v850/v850.c (compute_frame_size): Update. (expand_prologue): * config/mmix/mmix.c (along): update. (mmix_initial_elimination_offset): update. (mmix_reorg): update. (mmix_use_simple_return): update. (mmix_expand_prologue): update. (mmix_expand_epilogue): Update. * config/bfin/bfin.c (bfin_initial_elimination_offset): Update. (emit_link_insn): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134087 138bc75d-0d04-0410-961f-82ee72b054a4
-
aesok authored
__AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL instructions. * config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for atmega103 device. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134069 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 07 Apr, 2008 3 commits
-
-
hubicka authored
* function.h (rtl): Rename to x_rtl. (crtl): New define. (return_label, naked_return_label, stack_slot_list, parm_birth_insn, frame_offset, stack_check_probe_note, arg_pointer_save_area, used_temp_slots avail_temp_slots, temp_slot_level, nonlocal_goto_handler_labels): Update accesstors. (rtl): New global variable. (struct function): Move some fileds to rtl_data. (get_arg_pointer_save_area): Update prototype. * builtins.c (expand_builtin_setjmp_receiver): Update call of get_arg_pointer_save_area. * expr.c (init_expr): Update * function.c (get_frame_size): Update (assign_stack_local): Update (expand_function_end): Update. (get_art_pointer_save_area): Update * function.h * emit-rtl.c (rtl): Declare. (regno_reg_rtx): Declare. (first_insn, last_insn, cur_insn_uid, last_location, first_label_num): Update. (gen_reg_rtx): Update. * varasm.c (n_deferred_constatns): Update accestor. (init_varasm_status): Do not allocate varasm_status. (force_const_mem, get_pool_size, output_constant_pool): Update. * stmt.c (force_label_rtx): Do not use x_ prefixes. (expand_nl_goto_receiver): Update get_arg_pointer_save_area. * m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Update. * sparc/sparc.h (INIT_EXPANDERS): Update. * ia64/ia64.h (INIT_EXPANDERS): Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133994 138bc75d-0d04-0410-961f-82ee72b054a4
-
uros authored
control string instead of quoted. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133984 138bc75d-0d04-0410-961f-82ee72b054a4
-
ktietz authored
PR/35842 * config/i386/i386.c (legitimize_pic_address): Add treating of dllimport SYM_REF's. (legitimize_dllimport_symbol): Add prototype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133981 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 06 Apr, 2008 2 commits
-
-
aesok authored
(AVR_MEGA): Remove macro. * config/avr/avr.c (avr_mega_p): Remove variable. (avr_override_options): Remove inicializion of avr_mega_p. Use AVR_HAVE_JMP_CALL instead of AVR_MEGA. (print_operand): Use AVR_HAVE_JMP_CALL instead of AVR_MEGA. (avr_jump_mode): (Ditto.). (avr_output_progmem_section_asm_op): (Ditto.). (avr_asm_init_sections): (Ditto.). (avr_asm_init_sections): (Ditto.). (avr_rtx_costs): (Ditto.). * config/avr/avr.md: (Ditto.). * config/avr/avr.h: Use '__AVR_HAVE_JMP_CALL__' instead of '__AVR_MEGA__'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133966 138bc75d-0d04-0410-961f-82ee72b054a4
-
uros authored
* config/i386/i386.c (ix86_function_regparm): Error if regparm(3) attribute is used for nested functions. testsuite/ChangeLog: PR target/12329 * gcc.target/i386/pr12329.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133954 138bc75d-0d04-0410-961f-82ee72b054a4
-
- 04 Apr, 2008 6 commits
-
-
kkojima authored
* config/sh/constraints.md (K03, K12, Sbv, Sbw): New constraints. * config/sh/predicates.md (bitwise_memory_operand): New predicate. * config/sh/sh.c (print_operand): Add %t operand code. * config/sh/sh.h (GO_IF_LEGITIMATE_INDEX): Add condition for SH2A. * config/sh/sh.md (*iorsi3_compact): Fix condition for SH2A. (extendqisi2_compact): Add the alternative for SH2A 4-byte mov.b. (extendqihi2): Likewise. (movqi_i): Likewise. (insv): Use bset, bclr and bst instructions for SH2A if possible. (extv): Use bld instruction for SH2A if possible. (extzv): Likewise. (bclr_m2a, bclrmem_m2a, bset_m2a, bsetmem_m2a, bst_m2a, bld_m2a, bldsign_m2a, bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a, bxor_m2a, bxorreg_m2a): New insns. (bset.b, bclr.b): Define peepholes. * config/sh/sh.opt (mbitops): New option. * gcc.target/sh/sh2a-band.c: New test. * gcc.target/sh/sh2a-bclrmem.c: New test. * gcc.target/sh/sh2a-bld.c: New test. * gcc.target/sh/sh2a-bor.c: New test. * gcc.target/sh/sh2a-bsetmem.c: New test. * gcc.target/sh/sh2a-bxor.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133919 138bc75d-0d04-0410-961f-82ee72b054a4
-
janis authored
PR target/35620 * config/rs6000/rs6000.c (rs6000_check_sdmode): Handle indirect ref and view convert expression. testsuite/ PR target/35620 * gcc.dg/dfp/pr35620.c: New test. * gcc.dg/dfp/func-pointer.c: New test. * gcc.dg/dfp/func-deref.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133909 138bc75d-0d04-0410-961f-82ee72b054a4
-
hjl authored
2008-04-04 H.J. Lu <hongjiu.lu@intel.com> * config.gcc (extra_headers): Add wmmintrin.h for x86 and x86-64. * config/i386/cpuid.h (bit_AES): New. (bit_PCLMUL): Likewise. * config/i386/i386.c (pta_flags): Add PTA_AES and PTA_PCLMUL. (override_options): Handle PTA_AES and PTA_PCLMUL. Enable SSE2 if AES or PCLMUL is enabled. (ix86_builtins): Add IX86_BUILTIN_AESENC128, IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128, IX86_BUILTIN_AESDECLAST128, IX86_BUILTIN_AESIMC128, IX86_BUILTIN_AESKEYGENASSIST128 and IX86_BUILTIN_PCLMULQDQ128. (bdesc_sse_3arg): Add IX86_BUILTIN_PCLMULQDQ128. (bdesc_2arg): Add IX86_BUILTIN_AESENC128, IX86_BUILTIN_AESENCLAST128, IX86_BUILTIN_AESDEC128, IX86_BUILTIN_AESDECLAST128 and IX86_BUILTIN_AESKEYGENASSIST128. (bdesc_1arg): Add IX86_BUILTIN_AESIMC128. (ix86_init_mmx_sse_builtins): Define __builtin_ia32_aesenc128, __builtin_ia32_aesenclast128, __builtin_ia32_aesdec128, __builtin_ia32_aesdeclast128,__builtin_ia32_aesimc128, __builtin_ia32_aeskeygenassist128 and __builtin_ia32_pclmulqdq128. * config/i386/i386.c (ix86_expand_binop_imm_builtin): New. (ix86_expand_builtin): Use it for IX86_BUILTIN_PSLLDQI128 and IX86_BUILTIN_PSRLDQI128. Handle IX86_BUILTIN_AESKEYGENASSIST128. * config/i386/i386.h (TARGET_AES): New. (TARGET_PCLMUL): Likewise. (TARGET_CPU_CPP_BUILTINS): Handle TARGET_AES and TARGET_PCLMUL. * config/i386/i386.md (UNSPEC_AESENC): New. (UNSPEC_AESENCLAST): Likewise. (UNSPEC_AESDEC): Likewise. (UNSPEC_AESDECLAST): Likewise. (UNSPEC_AESIMC): Likewise. (UNSPEC_AESKEYGENASSIST): Likewise. (UNSPEC_PCLMULQDQ): Likewise. * config/i386/i386.opt (maes): New. (mpclmul): Likewise. * config/i386/sse.md (aesenc): New pattern. (aesenclast): Likewise. (aesdec): Likewise. (aesdeclast): Likewise. (aesimc): Likewise. (aeskeygenassist): Likewise. (pclmulqdq): Likewise. * config/i386/wmmintrin.h: New. * doc/extend.texi: Document AES and PCLMUL built-in function. * doc/invoke.texi: Document -maes and -mpclmul. gcc/testsuite/ 2008-04-04 H.J. Lu <hongjiu.lu@intel.com> * g++.dg/other/i386-2.C: Include <wmmintrin.h>. * g++.dg/other/i386-3.C: Likewise. * gcc.target/i386/sse-13.c: Likewise. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/aes-check.h: New. * gcc.target/i386/aesdec.c: Likewise. * gcc.target/i386/aesdeclast.c: Likewise. * gcc.target/i386/aesenc.c: Likewise. * gcc.target/i386/aesenclast.c: Likewise. * gcc.target/i386/aesimc.c: Likewise. * gcc.target/i386/aeskeygenassist.c: Likewise. * gcc.target/i386/pclmulqdq.c: Likewise. * gcc.target/i386/pclmul-check.h: Likewise. * gcc.target/i386/i386.exp (check_effective_target_aes): New. (check_effective_target_pclmul): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133902 138bc75d-0d04-0410-961f-82ee72b054a4
-
uros authored
Pass L2 size as "--param l2-cache-size" to the compiler. (decode_l2_cache): New function to decode L2 cache parameters using 0x8000006 extended cpuid function. (detect_caches_amd): Determine parameters of L2 cache using decode_l2_caches function. (decode_caches_intel): Decode L2 cache parameters. (detect_caches_intel): Determine L2 cache parameters using decode_caches_intel and decode_l2_caches functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133890 138bc75d-0d04-0410-961f-82ee72b054a4
-
bwilson authored
secondary input reload for subword loads from the constant pool. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133889 138bc75d-0d04-0410-961f-82ee72b054a4
-
janis authored
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use integer constants of the appropriate size for runtime calculations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133887 138bc75d-0d04-0410-961f-82ee72b054a4
-