Linaro GCC 4.5-2010.09-1

Milestone information

Project:
Linaro GCC
Series:
4.5
Version:
4.5-2010.09-1
Released:
 
Registrant:
Michael Hope
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
5 Andrew Stubbs
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
5 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon gcc-linaro-4.5-2010.09-1.tar.bz2 (md5, sig) Linaro GCC Source 363
last downloaded 41 weeks ago
Total downloads: 363

Release notes 

This is the second release in the Linaro GCC 4.5 series.

Notable features include:
 * Improved costings for the Cortex-A9
 * Backports of a range of performance improvements from mainline
 * New inline versions of the GCC builtin sync primitives

Changelog 

View the full changelog

2010-09-13 Andrew Stubbs <email address hidden>

 Backport from FSF:

 2010-09-13 Marcus Shawcroft <email address hidden>

 * config/arm/arm.md: (define_attr "conds"): Update comment.
 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change
   conds attribute to clob.
   (arm_sync_compare_and_swapsi): Likewise.
   (arm_sync_compare_and_swap<mode>): Likewise.
   (arm_sync_lock_test_and_setsi): Likewise.
   (arm_sync_lock_test_and_set<mode>): Likewise.
   (arm_sync_new_<sync_optab>si): Likewise.
   (arm_sync_new_nandsi): Likewise.
   (arm_sync_new_<sync_optab><mode>): Likewise.
   (arm_sync_new_nand<mode>): Likewise.
   (arm_sync_old_<sync_optab>si): Likewise.
   (arm_sync_old_nandsi): Likewise.
   (arm_sync_old_<sync_optab><mode>): Likewise.
   (arm_sync_old_nand<mode>): Likewise.

 2010-09-13 Marcus Shawcroft <email address hidden>

 * gcc.target/arm/sync-1.c: New.

2010-09-10 Andrew Stubbs <email address hidden>

 gcc/
 * REVISION: Bump version.

2010-09-10 Andrew Stubbs <email address hidden>

 GCC Linaro 4.5-2010.09-0 released.

 gcc/
 * REVISION: Update.

2010-09-09 Andrew Stubbs <email address hidden>

 2010-09-02 Marcus Shawcroft <email address hidden>
 * config/arm/predicates.md (arm_sync_memory_operand): New.
 * config/arm/sync.md (arm_sync_compare_and_swapsi): Change predicate
 to arm_sync_memory_operand and constraint to Q.
 (arm_sync_compare_and_swap<mode>): Likewise.
 (arm_sync_compare_and_swap<mode>): Likewise.
 (arm_sync_lock_test_and_setsi): Likewise.
 (arm_sync_lock_test_and_set<mode>): Likewise.
 (arm_sync_new_<sync_optab>si): Likewise.
 (arm_sync_new_nandsi): Likewise.
 (arm_sync_new_<sync_optab><mode>): Likewise.
 (arm_sync_new_nand<mode>): Likewise.
 (arm_sync_old_<sync_optab>si): Likewise.
 (arm_sync_old_nandsi): Likewise.
 (arm_sync_old_<sync_optab><mode>): Likewise.
 (arm_sync_old_nand<mode>): Likewise.

2010-09-09 Andrew Stubbs <email address hidden>

 Backport from mainline:

 2010-08-18 Marcus Shawcroft <email address hidden>
 * config/arm/arm-protos.h (arm_expand_sync): New.
 (arm_output_memory_barrier, arm_output_sync_insn): New.
 (arm_sync_loop_insns): New.
 * config/arm/arm.c (FL_ARCH7): New.
 (FL_FOR_ARCH7): Include FL_ARCH7.
 (arm_arch7): New.
 (arm_print_operand): Support %C markup.
 (arm_legitimize_sync_memory): New.
 (arm_emit, arm_insn_count, arm_count, arm_output_asm_insn): New.
 (arm_process_output_memory_barrier, arm_output_memory_barrier): New.
 (arm_ldrex_suffix, arm_output_ldrex, arm_output_strex): New.
 (arm_output_op2, arm_output_op3, arm_output_sync_loop): New.
 (arm_get_sync_operand, FETCH_SYNC_OPERAND): New.
 (arm_process_output_sync_insn, arm_output_sync_insn): New.
 (arm_sync_loop_insns,arm_call_generator, arm_expand_sync): New.
 * config/arm/arm.h (struct arm_sync_generator): New.
 (TARGET_HAVE_DMB, TARGET_HAVE_DMB_MCR): New.
 (TARGET_HAVE_MEMORY_BARRIER): New.
 (TARGET_HAVE_LDREX, TARGET_HAVE_LDREXBHD): New.
 * config/arm/arm.md: Include sync.md.
 (UNSPEC_MEMORY_BARRIER): New.
 (VUNSPEC_SYNC_COMPARE_AND_SWAP, VUNSPEC_SYNC_LOCK): New.
 (VUNSPEC_SYNC_OP):New.
 (VUNSPEC_SYNC_NEW_OP, VUNSPEC_SYNC_OLD_OP): New.
 (sync_result, sync_memory, sync_required_value): New attributes.
 (sync_new_value, sync_t1, sync_t2): Likewise.
 (sync_release_barrier, sync_op): Likewise.
 (length): Add logic to length attribute defintion to call
 arm_sync_loop_insns when appropriate.
 * config/arm/sync.md: New file.

2010-09-09 Andrew Stubbs <email address hidden>

 Backport from mainline:

 2010-08-25 Tejas Belagod <email address hidden>
 * config/arm/iterators.md (VU, SE, V_widen_l): New.
 (V_unpack, US): New.
 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Expansion for
 vmovl.
 (vec_unpack<US>_lo_<mode>): Likewise.
 (neon_vec_unpack<US>_hi_<mode>): Instruction pattern for vmovl.
 (neon_vec_unpack<US>_lo_<mode>): Likewise.
 (vec_widen_<US>mult_lo_<mode>): Expansion for vmull.
 (vec_widen_<US>mult_hi_<mode>): Likewise.
 (neon_vec_<US>mult_lo_<mode>"): Instruction pattern for vmull.
 (neon_vec_<US>mult_hi_<mode>"): Likewise.
 (neon_unpack<US>_<mode>): Widening move intermediate step for
 vectorizing without -mvectorize-with-neon-quad.
 (neon_vec_<US>mult_<mode>): Widening multiply intermediate step
 for vectorizing without -mvectorize-with-neon-quad.
 * config/arm/predicates.md (vect_par_constant_high): Check for
 high-half lanes of a vector.
 (vect_par_constant_low): Check for low-half lanes of a vector.

 2010-08-25 Tejas Belagod <email address hidden>
 * lib/target-supports.exp (check_effective_target_vect_unpack):
 Set vect_unpack supported flag to true for neon.

2010-09-07 Andrew Stubbs <email address hidden>

 Backport from gcc-patches:
 http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00658.html

 gcc/
 2010-06-07 Matthias Klose <email address hidden>
 PR bootstrap/43847
 * configure.ac (--enable-plugin): Enhance for cross builds.
 * configure: Regenerate.

2010-09-06 Mark Mitchell <email address hidden>

 Issue #9022

 Backport from mainline:
 2010-09-05 Mark Mitchell <email address hidden>
 * doc/invoke.texi: Document -Wdouble-promotion.
 * c-typeck.c (convert_arguments): Check for implicit conversions
 from float to double.
 (do_warn_double_promotion): New function.
 (build_conditional_expr): Use it.
 (build_binary_op): Likewise.
 * c.opt (Wdouble-promotion): New.
 2010-09-05 Mark Mitchell <email address hidden>
 * gcc.dg/Wdouble-promotion.c: New.
 2010-09-06 Mark Mitchell <email address hidden>
 gcc/
 * c-common.h (do_warn_double_promotion): Declare.
 * c-common.c (do_warn_double_promotion): Define.
 * c-typeck.c (do_warn_double_promotion): Remove.
 * doc/invoke.texi (-Wdouble-promotion): Note available for C++ and
 Objective-C++ too.
 gcc/cp/
 * typeck.c (cp_build_binary_op): Call do_warn_double_promotion.
 * call.c (build_conditional_expr): Likewise.
 (convert_arg_to_ellipsis): Likewise.
 gcc/testsuite/
 * g++.dg/warn/Wdouble-promotion.C: New.

2010-08-31 Chung-Lin Tang <email address hidden>

 Backport from mainline:

 2010-04-14 Bernd Schmidt <email address hidden>

 PR target/21803
 gcc/
 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
 at the start and end of the then/else blocks, and omit them from the
 conversion.
 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
 argument; all callers changed. Pass zero to old_insns_match_p instead.
 (flow_find_head_matching_sequence): New function.
 (old_insns_match_p): Check REG_EH_REGION notes for calls.
 * basic-block.h (flow_find_cross_jump,
 flow_find_head_matching_sequence): Declare functions.

 gcc/testsuite/
 * gcc.target/arm/pr42496.c: New test.

 2010-04-22 Bernd Schmidt <email address hidden>

 PR middle-end/29274
 gcc/
 * tree-pass.h (pass_optimize_widening_mul): Declare.
 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
 gate_optimize_widening_mul): New static functions.
 (pass_optimize_widening_mul): New.
 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
 <case MULT_EXPR>: Remove support for widening multiplies.
 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
 simplify_gen_unary rather than directly building extensions.
 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
 WIDEN_MULT_EXPR.
 * expmed.c (expand_widening_mult): New function.
 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
 * optabs.h (expand_widening_mult): Declare.

 gcc/testsuite/
 * gcc.target/i386/wmul-1.c: New test.
 * gcc.target/i386/wmul-2.c: New test.
 * gcc.target/bfin/wmul-1.c: New test.
 * gcc.target/bfin/wmul-2.c: New test.
 * gcc.target/arm/wmul-1.c: New test.
 * gcc.target/arm/wmul-2.c: New test.

 2010-04-24 Bernd Schmidt <email address hidden>

 PR tree-optimization/41442
 gcc/
 * fold-const.c (merge_truthop_with_opposite_arm): New function.
 (fold_binary_loc): Call it.

 gcc/testsuite/
 * gcc.target/i386/pr41442.c: New test.

 2010-04-29 Bernd Schmidt <email address hidden>

 PR target/42895
 gcc/
 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
 (HONOR_REG_ALLOC_ORDER): Describe new macro.
 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
 account only if HONOR_REG_ALLOC_ORDER is not defined.
 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.

 2010-05-04 Mikael Pettersson <email address hidden>

 PR bootstrap/43964
 gcc/
 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
 only if HONOR_REG_ALLOC_ORDER is not defined.

 2010-06-04 Bernd Schmidt <email address hidden>

 PR rtl-optimization/39871
 PR rtl-optimization/40615
 PR rtl-optimization/42500
 PR rtl-optimization/42502
 gcc/
 * ira.c (init_reg_equiv_memory_loc: New function.
 (ira): Call it twice.
 * reload.h (calculate_elim_costs_all_insns): Declare.
 * ira-costs.c: Include "reload.h".
 (regno_equiv_gains): New static variable.
 (init_costs): Allocate it.
 (finish_costs): Free it.
 (ira_costs): Call calculate_elim_costs_all_insns.
 (find_costs_and_classes): Take estimated elimination costs
 into account.
 (ira_adjust_equiv_reg_cost): New function.
 * ira.h (ira_adjust_equiv_reg_cost): Declare it.
 * reload1.c (init_eliminable_invariants, free_reg_equiv,
 elimination_costs_in_insn, note_reg_elim_costly): New static functions.
 (elim_bb): New static variable.
 (reload): Move code out of here into init_eliminable_invariants and
 free_reg_equiv. Call them.
 (calculate_elim_costs_all_insns): New function.
 (eliminate_regs_1): Declare. Add extra arg FOR_COSTS;
 all callers changed. If FOR_COSTS is true, don't call alter_reg,
 but call note_reg_elim_costly if we turned a valid memory address
 into an invalid one.
 * Makefile.in (ira-costs.o): Depend on reload.h.

 gcc/testsuite/
 * gcc.target/arm/eliminate.c: New test.

 2010-06-09 Bernd Schmidt <email address hidden>

 gcc/
 * config/arm/arm.c (thumb2_reorg): New function.
 (arm_reorg): Call it.
 * config/arm/thumb2.md (define_peephole2 for flag clobbering
 arithmetic operations): Delete.

 2010-06-12 Bernd Schmidt <email address hidden>

 gcc/
 * config/arm/arm.c (thumb2_reorg): Fix errors in previous change.

 2010-06-17 Bernd Schmidt <email address hidden>

 PR rtl-optimization/39871
 gcc/
 * reload1.c (init_eliminable_invariants): For flag_pic, disable
 equivalences only for constants that aren't LEGITIMATE_PIC_OPERAND_P.
 (function_invariant_p): Rule out a plus of frame or arg pointer with
 a SYMBOL_REF.
 * ira.c (find_reg_equiv_invariant_const): Likewise.

 2010-06-18 Eric Botcazou <email address hidden>

 PR rtl-optimization/40900
 gcc/
 * expr.c (expand_expr_real_1) <SSA_NAME>: Fix long line. Save the
 original expression for later reuse.
 <expand_decl_rtl>: Use promote_function_mode to compute the signedness
 of the promoted RTL for a SSA_NAME on the LHS of a call statement.

 2010-06-18 Bernd Schmidt <email address hidden>
 gcc/testsuite/
 * gcc.target/arm/pr40900.c: New test.

 2010-06-30 Bernd Schmidt <email address hidden>

 PR tree-optimization/39799
 gcc/
 * tree-inline.c (remap_ssa_name): Initialize variable only if
 SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
 * tree-ssa.c (warn_uninit): Avoid emitting an unnecessary message.

 gcc/testsuite/
 * c-c++-common/uninit-17.c: New test.

 2010-07-25 Eric Botcazou <email address hidden>

 PR target/44484
 gcc/
 * config/sparc/predicates.md (memory_reg_operand): Delete.
 * config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
 (*sync_compare_and_swap): Encode the address form in the pattern.
 (*sync_compare_and_swapdi_v8plus): Likewise.

2010-08-29 Chung-Lin Tang <email address hidden>

 Backport from mainline:

 2010-04-16 Bernd Schmidt <email address hidden>

 PR target/41514
 gcc/
 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
 If the previous insn is a cbranchsi4_insn with the same arguments,
 omit the compare instruction.

 gcc/testsuite/
 * gcc.target/arm/thumb-comparisons.c: New test.

 gcc/
 * config/arm/arm.md (addsi3_cbranch): If destination is a high
 register, inputs must be low registers and we need a low register
 scratch. Handle alternative 2 like alternative 3.

 PR target/40603
 gcc/
 * config/arm/arm.md (cbranchqi4): New pattern.
 * config/arm/predicates.md (const0_operand,
 cbranchqi4_comparison_operator): New predicates.

 gcc/testsuite/
 * gcc.target/arm/thumb-cbranchqi.c: New test.

 2010-04-27 Bernd Schmidt <email address hidden>

 PR target/40657
 gcc/
 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
 here to determine which regs to push and how much stack to reserve.

 gcc/testsuite/
 * gcc.target/arm/thumb-stackframe.c: New test.

 2010-07-02 Bernd Schmidt <email address hidden>

 PR target/42835
 gcc/
 * config/arm/arm-modes.def (CC_NOTB): New mode.
 * config/arm/arm.c (get_arm_condition_code): Handle it.
 * config/arm/thumb2.md (thumb2_compare_scc): Delete pattern.
 * config/arm/arm.md (subsi3_compare0_c): New pattern.
 (compare_scc): Now a define_and_split. Add a number of extra
 splitters before it.

 gcc/testsuite/
 * gcc.target/arm/pr42835.c: New test.

 PR target/42172
 gcc/
 * config/arm/arm.c (thumb1_rtx_costs): Improve support for SIGN_EXTEND
 and ZERO_EXTEND.
 (arm_rtx_costs_1): Likewise.
 (arm_size_rtx_costs): Use arm_rtx_costs_1 for these codes.
 * config/arm/arm.md (is_arch6): New attribute.
 (zero_extendhisi2, zero_extendqisi2, extendhisi2,
 extendqisi2): Tighten the code somewhat, avoiding invalid
 RTL to occur in the expander patterns.
 (thumb1_zero_extendhisi2): Merge with thumb1_zero_extendhisi2_v6.
 (thumb1_zero_extendhisi2_v6): Delete.
 (thumb1_extendhisi2): Merge with thumb1_extendhisi2_v6.
 (thumb1_extendhisi2_v6): Delete.
 (thumb1_extendqisi2): Merge with thumb1_extendhisi2_v6.
 (thumb1_extendqisi2_v6): Delete.
 (zero_extendhisi2 for register input splitter): New.
 (zero_extendqisi2 for register input splitter): New.
 (thumb1_extendhisi2 for register input splitter): New.
 (extendhisi2 for register input splitter): New.
 (extendqisi2 for register input splitter): New.
 (TARGET_THUMB1 extendqisi2 for memory input splitter): New.
 (arm_zero_extendhisi2): Allow nonimmediate_operand for operand 1,
 and add support for a register alternative requiring a split.
 (thumb1_zero_extendqisi2): Likewise.
 (arm_zero_extendqisi2): Likewise.
 (arm_extendhisi2): Likewise.
 (arm_extendqisi2): Likewise.

 gcc/testsuite/
 * gcc.target/arm/pr42172-1.c: New test.

 2010-07-05 Bernd Schmidt <email address hidden>

 * config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case.
 * arm-modes.def (CC_NOTB): Don't define.
 * config/arm/arm.md (arm_adddi3): Generate canonical RTL.
 (adddi_sesidi_di, adddi_zesidi_di): Likewise.
 (LTUGEU): New code_iterator.
 (cnb, optab): New corresponding code_attrs.
 (addsi3_carryin_<optab>): Renamed from addsi3_carryin. Change pattern
 to canonical form. Operands 1 and 2 are commutative. Parametrize
 using LTUGEU.
 (addsi3_carryin_shift_<optab>): Likewise.
 (addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2.
 Operands 1 and 2 are commutative. Parametrize using LTUGEU.
 (addsi3_carryin_alt1, addsi3_carryin_alt3): Remove.
 (subsi3_compare): Renamed from subsi3_compare0_c. Change CC_NOTB to
 CC.
 (arm_subsi3_insn): Allow constants for operand 0.
 (compare_scc peephole for eq case): New.
 (compare_scc splitters): Change CC_NOTB to CC.

 2010-07-09 Bernd Schmidt <email address hidden>

 PR target/40657
 gcc/
 * config/arm/arm.c (thumb1_extra_regs_pushed): New arg FOR_PROLOGUE.
 All callers changed.
 Handle the case when we're called for the epilogue.
 (thumb_unexpanded_epilogue): Use it.
 (thumb1_expand_epilogue): Likewise.

 gcc/testsuite/
 * gcc.target/arm/pr40657-1.c: New test.
 * gcc.target/arm/pr40657-2.c: New test.
 * gcc.c-torture/execute/pr40657.c: New test.

 gcc/
 * config/arm/arm.md (addsi3_cbranch): Switch alternatives 0 and 1.

 * config/arm/arm.md (Thumb-1 ldrsb peephole): New.

 * config/arm/arm.md (cbranchqi4): Fix array size.
 (addsi3_cbranch): Also andle alternative 2 like alternative 3 when
 calculating length.

2010-08-27 Paul Brook <email address hidden>

 gcc/
 * config/arm/thumb2.md (thumb_andsi_not_shiftsi_si,
 thumb2_notsi_shiftsi, thumb2_notsi_shiftsi_compare0,
 thumb2_not_shiftsi_compare0_scratch, thumb2_cmpsi_shiftsi,
 thumb2_cmpsi_shiftsi_swp, thumb2_cmpsi_neg_shiftsi,
 thumb2_arith_shiftsi, thumb2_arith_shiftsi_compare0,
 thumb2_arith_shiftsi_compare0_scratch, thumb2_sub_shiftsi,
 thumb2_sub_shiftsi_compare0, thumb2_sub_shiftsi_compare0_scratch):
 Use const_shift_count predicate for "M" constraints.
 * config/arm/predicates.md (const_shift_operand): Remove.
 (const_shift_count): New.

 gcc/testsuite/
 * gcc.dg/long-long-shift-1.c: New test.

2010-08-26 Paul Brook <email address hidden>

 Merge from Sourcery G++ 4.3/4.4:
 Issue #1510
 2007-04-27 Paul Brook <email address hidden>
 gcc/
 * cse.c (cse_process_notes): Make sure PLUS are canonical.

2010-08-26 Paul Brook <email address hidden>

 Merge from Sourcery G++ 4.3/4.4:
 2007-03-30 Paul Brook <email address hidden>
 gcc/
 * calls.c (store_one_arg): Check alignment of mode used for save.

2010-08-26 Maciej Rozycki <email address hidden>

 Merge from Sourcery G++ 4.4:

 2009-02-17 Andrew Jenner <email address hidden>
             Maciej Rozycki <email address hidden>

 gcc/
 * unwind.inc (_Unwind_RaiseException): Use return value of
 uw_init_context.
 * unwind-dw2.c (uw_init_context): Make macro an expression instead of
 a statement.
 (uw_init_context_1): Add return value.
 * unwind-sjlj.c (uw_init_context): Add return value.

2010-08-26 Andrew Stubbs <email address hidden>

 Merge from Ubuntu GCC:

 GCC bugzilla PR objc/41848.

 gcc/
 * objc/lang-specs.h: Work around ObjC and -fsection-anchors.

 gcc/testsuite/
 * objc/execute/forward-1.x: Update for ARM.

2010-08-25 Andrew Stubbs <email address hidden>

 Backport from FSF:

 2010-08-25 Julian Brown <email address hidden>

 * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
 * config/arm/arm.md (generic_sched): No for Cortex-A5.
 (generic_vfp): Likewise.
 (cortex-a5.md): Include.
 * config/arm/cortex-a5.md: New.

2010-08-25 Andrew Stubbs <email address hidden>

 Revert:

 2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-04-11 Julian Brown <email address hidden>

 Issue #7326

 gcc/
 * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
 * config/arm/arm.md (generic_sched): No for Cortex-A5.
 (generic_vfp): Likewise.
 (cortex-a5.md): Include.
 * config/arm/cortex-a5.md: New.

2010-08-24 Andrew Stubbs <email address hidden>

 Backport from FSF:

 2010-08-07 Ramana Radhakrishnan <email address hidden>

 * config/arm/cortex-a9.md: Rewrite VFP Pipeline description.
 * config/arm/arm.c (arm_xscale_tune): Initialize sched_adjust_cost.
  (arm_fastmul_tune,arm_slowmul_tune, arm_9e_tune): Likewise.
  (arm_adjust_cost): Split into xscale_sched_adjust_cost and a
  generic part.
  (cortex_a9_sched_adjust_cost): New function.
  (xscale_sched_adjust_cost): New function.
 * config/arm/arm-protos.h (struct tune_params): New field
 sched_adjust_cost.
 * config/arm/arm-cores.def: Adjust costs for cortex-a9.

 2010-04-17 Richard Earnshaw <email address hidden>

 * arm-protos.h (tune_params): New structure.
 * arm.c (current_tune): New variable.
 (arm_constant_limit): Delete.
 (struct processors): Add pointer to the tune parameters.
 (arm_slowmul_tune): New tuning option.
 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
 (all_cores): Adjust to pick up the tuning model.
 (arm_constant_limit): New function.
 (arm_override_options): Select the appropriate tuning model. Delete
 initialization of arm_const_limit.
 (arm_split_constant): Use the new constant-limit model.
 (arm_rtx_costs): Pick up the current tuning model.
 * arm.md (is_strongarm, is_xscale): Delete.
 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
 for Xscale variant architectures.
 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.

2010-08-23 Andrew Stubbs <email address hidden>

 Backport from FSF:

 2010-08-07 Marcus Shawcroft <email address hidden>

 gcc/
 * config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
 'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
 (SUBWORD_BOOL_CAS): Likewise.
 (SUBWORD_SYNC_OP): Likewise.
 (SUBWORD_TEST_AND_SET): Likewise.
 (FETCH_AND_OP_WORD): Parenthesise INF_OP
 (SUBWORD_SYNC_OP): Likewise.
 (OP_AND_FETCH_WORD): Likewise.

 gcc/testsuite/
 * lib/target-supports.exp: (check_effective_target_sync_int_long):
 Add arm*-*-linux-gnueabi.
 (check_effective_target_sync_char_short): Likewise.

2010-08-20 Jie Zhang <email address hidden>

 Merged from Sourcery G++ 4.4:

 gcc/
 2009-05-29 Julian Brown <email address hidden>
 Merged from Sourcery G++ 4.3:
 * config/arm/arm.md (movsi): Don't split symbol refs here.
 (define_split): New.

2010-08-18 Julian Brown <email address hidden>

 Issue #9222

 gcc/
 * config/arm/neon.md (UNSPEC_VCLE, UNSPEC_VCLT): New constants for
 unspecs.
 (vcond<mode>, vcondu<mode>): New expanders.
 (neon_vceq<mode>, neon_vcge<mode>, neon_vcgt<mode>): Support
 comparisons with zero.
 (neon_vcle<mode>, neon_vclt<mode>): New patterns.
 * config/arm/constraints.md (Dz): New constraint.

2010-08-18 Jie Zhang <email address hidden>

 Backport from mainline:

 gcc/testsuite/
 2010-08-18 Jie Zhang <email address hidden>
 * gcc.dg/builtin-apply2.c (STACK_ARGUMENTS_SIZE): Define to
 20 if __ARM_PCS is defined otherwise 64.
 (bar): Use STACK_ARGUMENTS_SIZE for the third argument
 instead of hard coded 64.

2010-08-13 Jie Zhang <email address hidden>

 Backport from mainline:

 gcc/
 2010-08-13 Jie Zhang <email address hidden>
 * config/arm/arm.md (cstoredf4): Only valid when
 !TARGET_VFP_SINGLE.

2010-08-12 Jie Zhang <email address hidden>

 Backport from mainline:

 gcc/testsuite/
 2010-08-12 Jie Zhang <email address hidden>
 * gcc.dg/graphite/interchange-9.c (M): Define to be 111.
 (N): Likewise.
 (main): Adjust accordingly.

2010-08-05 Julian Brown <email address hidden>

 Backport from mainline (candidate patch):

 gcc/
 * expr.c (expand_assignment): Add assertion to prevent emitting null
 rtx for movmisalign pattern.
 (expand_expr_real_1): Likewise.
 * config/arm/arm.c (arm_builtin_support_vector_misalignment): New.
 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT): New. Use above.
 (arm_vector_alignment_reachable): New.
 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): New. Use above.
 (neon_vector_mem_operand): Disallow PRE_DEC for misaligned loads.
 (arm_print_operand): Include alignment qualifier in %A.
 * config/arm/neon.md (UNSPEC_MISALIGNED_ACCESS): New constant.
 (movmisalign<mode>): New expander.
 (movmisalign<mode>_neon_store, movmisalign<mode>_neon_load): New
 insn patterns.

 gcc/testsuite/
 * gcc.dg/vect/vect-42.c: Use vect_element_align instead of
 vect_hw_misalign.
 * gcc.dg/vect/vect-60.c: Likewise.
 * gcc.dg/vect/vect-56.c: Likewise.
 * gcc.dg/vect/vect-93.c: Likewise.
 * gcc.dg/vect/no-scevccp-outer-8.c: Likewise.
 * gcc.dg/vect/vect-95.c: Likewise.
 * gcc.dg/vect/vect-96.c: Likewise.
 * gcc.dg/vect/vect-outer-5.c: Use quad-word vectors when available.
 * gcc.dg/vect/slp-25.c: Likewise.
 * gcc.dg/vect/slp-3.c: Likewise.
 * gcc.dg/vect/vect-multitypes-1.c: Likewise.
 * gcc.dg/vect/no-vfa-pr29145.c: Likewise.
 * gcc.dg/vect/vect-multitypes-4.c: Likewise. Use vect_element_align.
 * gcc.dg/vect/vect-109.c: Likewise.
 * gcc.dg/vect/vect-peel-1.c: Likewise.
 * gcc.dg/vect/vect-peel-2.c: Likewise.
 * lib/target-supports.exp
 (check_effective_target_arm_vect_no_misalign): New.
 (check_effective_target_vect_no_align): Use above.
 (check_effective_target_vect_element_align): New.
 (add_options_for_quad_vectors): New.

2010-08-05 Jie Zhang <email address hidden>

 Issue #7257

 Backport from mainline:

 gcc/
 2010-08-05 Jie Zhang <email address hidden>
 PR tree-optimization/45144
 * tree-sra.c (type_consists_of_records_p): Return false
 if the record contains bit-field.

 gcc/testsuite/
 2010-08-05 Jie Zhang <email address hidden>
 PR tree-optimization/45144
 * gcc.dg/tree-ssa/pr45144.c: New test.

2010-08-04 Mark Mitchell <email address hidden>

 Backport from mainline:

 gcc/testsuite/
 2010-08-04 Daniel Gutson <email address hidden>
 * g++.dg/warn/miss-format-1.C: Update line number.

2010-08-04 Julian Brown <email address hidden>

 gcc/
 * config/arm/neon-testgen.ml (regexps): Allow any characters
 in comments after assembly instructions.

 gcc/testsuite/
 * gcc.target/arm/neon/vfp-shift-a2t2.c: Allow any characters in
 comments after assembly instructions.
 * gcc.target/arm/neon/v*.c: Regenerate.

2010-07-28 Maxim Kuvyrkov <email address hidden>

 Backport code hoisting improvements from mainline:

 2010-07-28 Jakub Jelinek <email address hidden>
 PR debug/45105
 * gcc.dg/pr45105.c: New test.

 2010-07-28 Jakub Jelinek <email address hidden>
 PR debug/45105
 * gcse.c (hoist_code): Use FOR_BB_INSNS macro.

 2010-07-28 Maxim Kuvyrkov <email address hidden>
 PR rtl-optimization/45107
 * gcc.dg/pr45107.c: New test.

 2010-07-28 Maxim Kuvyrkov <email address hidden>
 PR rtl-optimization/45107
 * gcse.c (hash_scan_set): Use max_distance for gcse-las.

 2010-07-28 Maxim Kuvyrkov <email address hidden>
 PR rtl-optimization/45101
 * gcc.dg/pr45101.c: New test.

 2010-07-28 Maxim Kuvyrkov <email address hidden>
 PR rtl-optimization/45101
 * gcse.c (hash_scan_set): Fix argument ordering of insert_expr_in_table
 for gcse-las.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 PR rtl-optimization/40956
 PR target/42495
 PR middle-end/42574
 * gcc.target/arm/pr40956.c, gcc.target/arm/pr42495.c,
 * gcc.target/arm/pr42574.c: Add tests.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 * config/arm/arm.c (params.h): Include.
 (arm_override_options): Tune gcse-unrestricted-cost.
 * config/arm/t-arm (arm.o): Define dependencies.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 PR target/42495
 PR middle-end/42574
 * basic-block.h (get_dominated_to_depth): Declare.
 * dominance.c (get_dominated_to_depth): New function, use
 get_all_dominated_blocks as a base.
 (get_all_dominated_blocks): Use get_dominated_to_depth.
 * gcse.c (occr_t, VEC (occr_t, heap)): Define.
 (hoist_exprs): Remove.
 (alloc_code_hoist_mem, free_code_hoist_mem): Update.
 (compute_code_hoist_vbeinout): Add debug print outs.
 (hoist_code): Partially rewrite, simplify. Use get_dominated_to_depth.
 * params.def (PARAM_MAX_HOIST_DEPTH): New parameter to avoid
 quadratic behavior.
 * params.h (MAX_HOIST_DEPTH): New macro.
 * doc/invoke.texi (max-hoist-depth): Document.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 PR rtl-optimization/40956
 * config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
 constants.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
   PR target/42495
   PR middle-end/42574
 * config/arm/arm.c (legitimize_pic_address): Use
 gen_calculate_pic_address pattern to emit calculation of PIC address.
 (will_be_in_index_register): New function.
 (arm_legitimate_address_outer_p, thumb2_legitimate_address_p,)
 (thumb1_legitimate_address_p): Use it provided !strict_p.
 * config/arm/arm.md (calculate_pic_address): New expand and split.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 PR target/42495
 PR middle-end/42574
 * config/arm/arm.c (thumb1_size_rtx_costs): Add cost for "J" constants.
 * config/arm/arm.md (define_split "J", define_split "K"): Make
 IRA/reload friendly.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 * gcse.c (insert_insn_end_basic_block): Update signature, remove
 unused checks.
 (pre_edge_insert, hoist_code): Update.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 PR target/42495
 PR middle-end/42574
 * gcse.c (hoist_expr_reaches_here_p): Remove excessive check.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 * gcse.c (hoist_code): Generate new pseudo for every new set insn.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 PR rtl-optimization/40956
 PR target/42495
 PR middle-end/42574
 * gcse.c (compute_code_hoist_vbeinout): Consider more expressions
 for hoisting.
 (hoist_code): Count occurences in current block too.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 * gcse.c (struct expr:max_distance): New field.
 (doing_code_hoisting_p): New static variable.
 (want_to_gcse_p): Change signature. Allow constrained hoisting of
 simple expressions, don't change behavior for PRE. Set max_distance.
 (insert_expr_in_table): Set new max_distance field.
 (hash_scan_set): Update.
 (hoist_expr_reaches_here_p): Stop search after max_distance
 instructions.
 (find_occr_in_bb): New static function. Use it in ...
 (hoist_code): Calculate sizes of basic block before any changes are
 done. Pass max_distance to hoist_expr_reaches_here_p.
 (one_code_hoisting_pass): Set doing_code_hoisting_p.
 * params.def (PARAM_GCSE_COST_DISTANCE_RATIO,)
 (PARAM_GCSE_UNRESTRICTED_COST): New parameters.
 * params.h (GCSE_COST_DISTANCE_RATIO, GCSE_UNRESTRICTED_COST): New
 macros.
 * doc/invoke.texi (gcse-cost-distance-ratio, gcse-unrestricted-cost):
 Document.

 2010-07-27 Jeff Law <email address hidden>
     Maxim Kuvyrkov <email address hidden>
 * gcse.c (compute_transpout, transpout): Remove, move logic
 to prune_expressions.
 (compute_pre_data): Move pruning of trapping expressions ...
 (prune_expressions): ... here. New static function.
 (compute_code_hoist_data): Use it.
 (alloc_code_hoist_mem, free_code_hoist_mem, hoist_code): Update.

 2010-07-27 Maxim Kuvyrkov <email address hidden>
 * dbgcnt.def (hoist_insn): New debug counter.
 * gcse.c (hoist_code): Use it.

2010-07-28 Julian Brown <email address hidden>

 Backport from FSF mainline:

 gcc/
 * config/arm/thumb2.md (*thumb2_movdf_soft_insn): Fix alternatives
 for pool ranges.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-06-14 Paul Brook <email address hidden>

 Issue #8879
 gcc/
 * config/arm/arm.c (use_vfp_abi): Add sorry() for Thumb-1
 hard-float ABI.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-06-12 Jie Zhang <email address hidden>

 gcc/
 * config/arm/vfp.md (arm_movsi_vfp): Set neon_type correctly
 for neon_ldr and neon_str instructions.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-04-11 Julian Brown <email address hidden>

 Issue #7326

 gcc/
 * config/arm/arm.c (arm_issue_rate): Return 2 for Cortex-A5.
 * config/arm/arm.md (generic_sched): No for Cortex-A5.
 (generic_vfp): Likewise.
 (cortex-a5.md): Include.
 * config/arm/cortex-a5.md: New.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-04-12 Andrew Stubbs <email address hidden>

 Issue #7178

 gcc/
 * config/arm/arm.c (arm_init_libfuncs): Change __gnu_f2h_ieee to
 __aeabi_f2h, __gnu_f2h_alternative to __aeabi_f2h_alt, __gnu_h2f_ieee
 to __aeabi_h2f, and __gnu_h2f_alternative to __aeabi_h2f_alt.
 * config/arm/fp16.c (__gnu_f2h_internal): Change return type to
 unsigned int. Change 'sign' variable likewise.
 (__gnu_h2f_internal): Set to static inline.
 Change return type to unsigned int. Change 'sign' variable likewise.
 (ALIAS): New define.
 (__gnu_f2h_ieee): Change unsigned short to unsigned int.
 (__gnu_h2f_ieee): Likewise.
 (__gnu_f2h_alternative): Likewise.
 (__gnu_h2f_alternative): Likewise.
 (__aeabi_f2h, __aeabi_h2f): New aliases.
 (__aeabi_f2h_alt, __aeabi_h2f_alt): Likewise.
 * config/arm/sfp-machine.h (__extendhfsf2): Set to __aeabi_h2f.
 (__truncsfhf2): Set to __aeabi_f2h.

 gcc/testsuite/
 * g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: Check for __aeabi_h2f
 and __aeabi_f2h.
 * g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Likewise.
 * gcc.dg/torture/arm-fp16-ops-5.c: Likewise.
 * gcc.dg/torture/arm-fp16-ops-6.c: Likewise.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 Richard Earnshaw <email address hidden>

 gcc/
 * doc/tm.texi (OVERLAPPING_REGISTER_NAMES): Document new macro.
 * output.h (decode_reg_name_and_count): Declare.
 * varasm.c (decode_reg_name_and_count): New function.
 (decode_reg_name): Reimplement using decode_reg_name_and_count.
 * reginfo.c (fix_register): Use decode_reg_name_and_count and
 iterate over all regs used.
 * stmt.c (expand_asm_operands): Likewise.
 * config/arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
 (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
 multiple machine registers.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-04-08 Bernd Schmidt <email address hidden>

 Issue #6952

 gcc/
 * ira-costs.c (record_reg_classes): Ignore alternatives that are
 not enabled.
 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
 for Cortex-A8.
 (arm_movdi_vfp_cortexa8): New pattern.
 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
 instructions when tuning for Cortex-A8. Set attribute "alt_tune".
 * config/arm/arm.md (define_attr "alt_tune", define_attr "enabled"):
 New.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-04-07 Thomas Schwinge <email address hidden>
      Daniel Jacobowitz <email address hidden>

 Issue #6715

 PR debug/40521

 gcc/
 * dwarf2out.c (NEED_UNWIND_TABLES): Define.
 (dwarf2out_do_frame, dwarf2out_do_cfi_asm, dwarf2out_begin_prologue)
 (dwarf2out_frame_finish, dwarf2out_assembly_start): Use it.
 (dwarf2out_assembly_start): Correct logic for TARGET_UNWIND_INFO.
 * config/arm/arm.h (DWARF2_UNWIND_INFO): Remove definition.
 * config/arm/bpabi.h (DWARF2_UNWIND_INFO): Define to zero.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 Jie Zhang <email address hidden>

 Issue #7122

 gcc/
 * config/arm/arm.c (arm_rtx_costs_1): Adjust cost for
 CONST_VECTOR.
 (arm_size_rtx_costs): Likewise.
 (thumb2_size_rtx_costs): Likewise.
 (neon_valid_immediate): Add a case for double 0.0.

 gcc/testsuite/
 * gcc.target/arm/neon-vdup-1.c: New test case.
 * gcc.target/arm/neon-vdup-2.c: New test case.
 * gcc.target/arm/neon-vdup-3.c: New test case.
 * gcc.target/arm/neon-vdup-4.c: New test case.
 * gcc.target/arm/neon-vdup-5.c: New test case.
 * gcc.target/arm/neon-vdup-6.c: New test case.
 * gcc.target/arm/neon-vdup-7.c: New test case.
 * gcc.target/arm/neon-vdup-8.c: New test case.
 * gcc.target/arm/neon-vdup-9.c: New test case.
 * gcc.target/arm/neon-vdup-10.c: New test case.
 * gcc.target/arm/neon-vdup-11.c: New test case.
 * gcc.target/arm/neon-vdup-12.c: New test case.
 * gcc.target/arm/neon-vdup-13.c: New test case.
 * gcc.target/arm/neon-vdup-14.c: New test case.
 * gcc.target/arm/neon-vdup-15.c: New test case.
 * gcc.target/arm/neon-vdup-16.c: New test case.
 * gcc.target/arm/neon-vdup-17.c: New test case.
 * gcc.target/arm/neon-vdup-18.c: New test case.
 * gcc.target/arm/neon-vdup-19.c: New test case.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 Jie Zhang <email address hidden>

 Issue #7122

 gcc/
 * config/arm/vfp.md (movdf_vfp): Add load double 0.0 case.
 (thumb2_movdf_vfp): Likewise. Require that one of the operands be a
 register.
 * config/arm/constraints.md (D0): New constraint.

 gcc/testsuite/
 * gcc.target/arm/neon-load-df0.c: New test.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-02-23 Julian Brown <email address hidden>

 gcc/
 * config/arm/arm.c (thumb2_size_rtx_costs): New.
 (arm_rtx_costs): Call above for Thumb-2.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-02-23 Julian Brown <email address hidden>

 gcc/
 * calls.c (precompute_register_parameters): Avoid generating a
 register move if optimizing for size.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-02-15 Julian Brown <email address hidden>

 Issue #7486

 gcc/
 * config/arm/arm.c (arm_libcall_uses_aapcs_base)
 (arm_init_cumulative_args): Use correct ABI for double-precision
 helper functions in hard-float mode if only single-precision
 arithmetic is supported in hardware.

2010-07-26 Julian Brown <email address hidden>

 Backport from FSF mainline:

 Julian Brown <email address hidden>
 Mark Mitchell <email address hidden>

 gcc/
 * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
 sibling calls for Thumb-1.
 * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
 * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
 Thumb-2.
 (*call_insn, *call_value_insn): Don't use for Thumb-2.
 (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
 for Thumb-2.
 (return): New expander.
 (*arm_return): New name for ARM return insn.
 * config/arm/thumb2.md (*thumb2_return): New insn pattern.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-02-04 Daniel Jacobowitz <email address hidden>

 Issue #7197 - backtrace() through throw()

 libstdc++-v3/
 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): For
 ARM EABI, skip handlers for _US_VIRTUAL_UNWIND_FRAME
 | _US_FORCE_UNWIND.

2010-07-26 Julian Brown <email address hidden>

 Backport from FSF mainline:

 2010-02-03 Daniel Gutson <email address hidden>

 Issue #6472

 gcc/
 * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
 added to the preprocessor condition.

2010-07-26 Julian Brown <email address hidden>

 Backport from FSF mainline:

 gcc/
 * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
 (*thumb2_addsi3_compare0_scratch): New.
 * config/arm/constraints.md (Pv): New.
 * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
 for ARM mode only.
 (*addsi3_compare0_scratch): Likewise.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2010-05-25 Julian Brown <email address hidden>

 gcc/
 * config/arm/arm.c (arm_tune_cortex_a5): New.
 (arm_override_options): Set above. Set max_insns_skipped to 1 for
 Cortex-A5.
 * config/arm/arm.h (arm_tune_cortex_a5): Add declaration.
 (BRANCH_COST): Set to zero for Cortex-A5 unless optimising for
 size.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2009-08-26 Julian Brown <email address hidden>

 gcc/config/arm/
 * uclinux-eabi.h (LINK_GCC_C_SEQUENCE_SPEC): Override definition
 for uclinux.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2009-08-26 Kazu Hirata <email address hidden>

 Issue #6089
 gcc/
 * config/arm/arm.c (arm_rtx_costs_1): Don't special case for
 Thumb-2 in the MINUS case.

2010-07-26 Julian Brown <email address hidden>

 Backport from FSF mainline:

 gcc/
 * gengtype-lex.l: Add HARD_REG_SET.
 * expr.c (expand_expr_real_1): Record writes to hard registers.
 * function.h (rtl_data): Add asm_clobbers.
 * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
 (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
 Use crtl->asm_clobbers.

 gcc/testsuite/
 * gcc.target/arm/frame-pointer-1.c: New test.
 * gcc.target/i386/pr9771-1.c: Move code out of main to allow frame
 pointer elimination.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2009-06-23 Kazu Hirata <email address hidden>

 Issue #4613
 gcc/
 * config/arm/arm.c (arm_rtx_costs_1): Teach that the cost of MLS
 is the same as its underlying multiplication.
 * config/arm/arm.md (two splitters): New.
 * config/arm/predicates.md (binary_operator): New.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 2008-09-08 Daniel Jacobowitz <email address hidden>

 gcc/
 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
 for barrier handlers.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 gcc/
 * config/arm/arm.c (arm_override_options): Override alignments if
 tuning for Cortex-A8.
 (create_fix_barrier, arm_reorg): If aligning to jumps or loops,
 make labels have a size.
 * config/arm/arm.md (VUNSPEC_ALIGN16, VUNSPEC_ALIGN32): New constants.
 (align_16, align_32): New patterns.

2010-07-26 Julian Brown <email address hidden>

 Merge from Sourcery G++ 4.4:

 Mark Shinwell <email address hidden>

 gcc/
 * config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp)
 (*arm_movdi_vfp, *thumb2_movdi_vfp, *movsf_vfp, *thumb2_movsf_vfp)
 (*movdf_vfp, *thumb2_movdf_vfp, *movsfcc_vfp, *thumb2_movsfcc_vfp)
 (*movdfcc_vfp, *thumb2_movdfcc_vfp): Add neon_type.
 * config/arm/arm.md (neon_type): Update comment.

0 blueprints and 5 bugs targeted

Bug report Importance Assignee Status
600277 #600277 Backport ARM Cortex A9 scheduling changes 3 High Andrew Stubbs  10 Fix Released
600298 #600298 Backport ARM SMP Patches 3 High Andrew Stubbs  10 Fix Released
600298 #600298 Backport ARM SMP Patches 3 High Andrew Stubbs  10 Fix Released
590696 #590696 [PR43847] fix wrong use of objdump during cross build 5 Low Andrew Stubbs  10 Fix Released
590696 #590696 [PR43847] fix wrong use of objdump during cross build 5 Low Andrew Stubbs  10 Fix Released
This milestone contains Public information
Everyone can see this information.