1. 22 Apr, 2008 2 commits
    • nickc's avatar
      * config/arm/arm.c (thumb_find_work_register): Fix location of · 12f2d5e9
      nickc authored
        argument register count.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134553 138bc75d-0d04-0410-961f-82ee72b054a4
      12f2d5e9
    • mkuvyrkov's avatar
      Support scheduling for ColdFire V1 and V3 microarchitecture. · 2ccdedfd
      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
      2ccdedfd
  2. 18 Apr, 2008 1 commit
    • hubicka's avatar
      · edb7afe8
      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
      edb7afe8
  3. 17 Apr, 2008 4 commits
    • uros's avatar
      * config/i386/i386.md (addti3 splitter): Pass arrays of 3 operands · cdb04b84
      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
      cdb04b84
    • hjl's avatar
      2008-04-17 H.J. Lu <hongjiu.lu@intel.com> · 382e3eba
      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
      382e3eba
    • amodra's avatar
      PR target/35907 · 0dd5aca6
      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
      0dd5aca6
    • chrbr's avatar
      fix SH long long compare · 9037a84c
      chrbr authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134380 138bc75d-0d04-0410-961f-82ee72b054a4
      9037a84c
  4. 16 Apr, 2008 1 commit
    • uros's avatar
      PR target/35944 · 5628aad4
      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
      5628aad4
  5. 15 Apr, 2008 2 commits
    • dougkwan's avatar
      2008-04-15 Doug Kwan <dougkwan@google.com> · 7df7561b
      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
      7df7561b
    • bje's avatar
      Fix bootstrap on Alpha. · b71600b1
      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
      b71600b1
  6. 14 Apr, 2008 4 commits
  7. 13 Apr, 2008 3 commits
  8. 11 Apr, 2008 1 commit
    • bernds's avatar
      * config/bfin/constraints.md: New file. · 87943377
      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
      87943377
  9. 10 Apr, 2008 5 commits
    • danglin's avatar
      PR target/35768 · 4f0b6f04
      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
      4f0b6f04
    • bje's avatar
      * config/spu/spu.c (spu_init_builtins): Mark builtins as nothrow. · 5dfbd18f
      bje authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134181 138bc75d-0d04-0410-961f-82ee72b054a4
      5dfbd18f
    • nemet's avatar
      * config/mips/mips.md (GPR2): New mode iterator. · 40e4a59d
      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
      40e4a59d
    • uros's avatar
      * config/i386/i386.md (absneg): New code iterator. · f9162d6c
      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
      f9162d6c
    • krebbel's avatar
      2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com> · 175ddbd8
      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
      175ddbd8
  10. 08 Apr, 2008 6 commits
    • janis's avatar
      PR target/35839 · d44615ce
      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
      d44615ce
    • dje's avatar
      * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update · b3b9cde3
      dje authored
              GNU Fortran language string.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134106 138bc75d-0d04-0410-961f-82ee72b054a4
      b3b9cde3
    • ktietz's avatar
      Enable trampoline code for nx-protected stack Windows. · 11d6399c
      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
      11d6399c
    • hp's avatar
      * config/cris/cris.c (cris_address_cost): For a PLUS, swap tem1 · fbedf334
      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
      fbedf334
    • hubicka's avatar
      · abe32cce
      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
      abe32cce
    • aesok's avatar
      * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define · cb373d8c
      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
      cb373d8c
  11. 07 Apr, 2008 3 commits
    • hubicka's avatar
      · fd6ffb7c
      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
      fd6ffb7c
    • uros's avatar
      * config/i386/i386.md ("*sse_prologue_save_insn"): Use braced output · ae3049cd
      uros authored
              control string instead of quoted.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133984 138bc75d-0d04-0410-961f-82ee72b054a4
      ae3049cd
    • ktietz's avatar
      2008-04-07 Kai Tietz <kai.tietz@onevision.com> · 814cfa37
      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
      814cfa37
  12. 06 Apr, 2008 2 commits
    • aesok's avatar
      * config/avr/avr.h (avr_mega_p): Remove declaration. · 4f0e2214
      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
      4f0e2214
    • uros's avatar
      PR target/12329 · e1dbffbf
      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
      e1dbffbf
  13. 04 Apr, 2008 6 commits
    • kkojima's avatar
      * doc/invoke.texi: Document -mbitops for SH. · 96a7f216
      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
      96a7f216
    • janis's avatar
      gcc/ · d35d5b75
      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
      d35d5b75
    • hjl's avatar
      gcc/ · 1d9ef704
      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
      1d9ef704
    • uros's avatar
      * config/i386/driver-i386.c (describe_cache): Add l2_sizekb argument. · 4c8b808d
      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
      4c8b808d
    • bwilson's avatar
      * config/xtensa/xtensa.c (xtensa_secondary_reload_class): Use a · da19f93f
      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
      da19f93f
    • janis's avatar
      PR target/35713 · 2bedfb20
      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
      2bedfb20