Linaro GCC 4.7-2012.08

Milestone information

Project:
Linaro GCC
Series:
4.7
Version:
4.7-2012.08
Released:
 
Registrant:
Matthew Gretton-Dann
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:
1 Michael Hope, 1 Ulrich Weigand
Blueprints:
1 Implemented
Bugs:
1 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.7-2012.08.tar.bz2 (md5, sig) GCC Linaro 4.7 2012.08 1,255
last downloaded 41 weeks ago
Total downloads: 1,255

Release notes 

Linaro GCC 4.7 2012.08 is the fifth release in the 4.7 series. Based off the latest GCC 4.7.1+svn189992 release, it includes many ARM-focused performance improvements and bug fixes.

Interesting changes include:

    Updates to GCC 4.7.1+svn189992
    A bug has been fixed in GCC's implementation of the AAPCS rules for the layout of vectors that could lead to wrong code being generated. Vectors larger than 8 bytes in size are now by default aligned to an 8-byte boundary. This is an ABI change: code that makes explicit use of vector types may be incompatible with binary objects built with older versions of GCC. Auto-vectorized code is not affected by this change.

Fixes:

    LP: #1020601 - Strange behaviour with __builtin_unreachable()
    PR38785 - huge performance regression on EEMBC bitmnp01
    PR53447 - missed optimization of 64bit ALU operation with small constant

Changelog 

View the full changelog

2012-08-13 Matthew Gretton-Dann <email address hidden>

 GCC Linaro 4.7-2012.08 released.

 gcc/
 * LINARO-VERSION: Update.

2012-08-10 Ulrich Weigand <email address hidden>

 Backport from mainline:

 gcc/
 2012-07-30 Ulrich Weigand <email address hidden>
      Richard Earnshaw <email address hidden>

 * target.def (vector_alignment): New target hook.
 * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
 * doc/tm.texi: Regenerate.
 * targhooks.c (default_vector_alignment): New function.
 * targhooks.h (default_vector_alignment): Add prototype.
 * stor-layout.c (layout_type): Use targetm.vector_alignment.
 * config/arm/arm.c (arm_vector_alignment): New function.
 (TARGET_VECTOR_ALIGNMENT): Define.

 * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
 vector type alignment instead of size.
 * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
 element type size directly instead of computing it from alignment.
 Fix variable naming and comment.

 gcc/testsuite/
 2012-07-30 Ulrich Weigand <email address hidden>

 * lib/target-supports.exp
 (check_effective_target_vect_natural_alignment): New function.
 * gcc.dg/align-2.c: Only run on targets with natural alignment
 of vector types.
 * gcc.dg/vect/slp-25.c: Adjust tests for targets without natural
 alignment of vector types.

2012-08-01 Michael Hope <email address hidden>

 Merge from FSF GCC 4.7.1 (svn branches/gcc-4_7-branch 189992).

2012-07-26 Ulrich Weigand <email address hidden>

 LP 1020601

 Backport from mainline:

 2012-07-16 Ulrich Weigand <email address hidden>

 gcc/
 * tree-ssa-ccp.c (optimize_unreachable): Check gsi_end_p
 before calling gsi_stmt.

 2012-07-06 Tom de Vries <email address hidden>
      Richard Guenther <email address hidden>

 gcc/
 * tree-ssa-ccp.c (optimize_unreachable): New function.
 (execute_fold_all_builtins): Use optimize_unreachable to optimize
 BUILT_IN_UNREACHABLE. Don't optimize after BUILT_IN_UNREACHABLE.

 gcc/testsuite/
 * gcc.dg/builtin-unreachable-6.c: New test.
 * gcc.dg/builtin-unreachable-5.c: New test.

2012-05-04 Michael Hope <email address hidden>

 Backport from mainline r189611:

 gcc/
 2012-07-18 Jie Zhang <email address hidden>
     Julian Brown <email address hidden>

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

 gcc/testsuite/
 2012-07-18 Jie Zhang <email address hidden>
     Julian Brown <email address hidden>

 * 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.
 * gcc.target/arm/neon-combine-sub-abs-into-vabd.c: Make intrinsic
 arguments non-constant.

2012-07-24 Michael Hope <email address hidden>

 Backport from mainline r186859:

 gcc/
 2012-04-28 Joern Rennecke <email address hidden>
     Steven Bosscher <email address hidden>
     Maxim Kuvyrkov <email address hidden>

 PR tree-optimization/38785
 * common.opt (ftree-partial-pre): New option.
 * doc/invoke.texi: Document it.
 * opts.c (default_options_table): Initialize flag_tree_partial_pre.
 * tree-ssa-pre.c (do_partial_partial_insertion): Insert only if it will
 benefit speed path.
 (execute_pre): Use flag_tree_partial_pre.

2012-07-02 Michael Hope <email address hidden>

 Backport from mainline r189102:

 gcc/
 2012-07-01 Wei Guozhi <email address hidden>

 PR target/53447
 * config/arm/arm-protos.h (const_ok_for_dimode_op): New prototype.
 * config/arm/arm.c (const_ok_for_dimode_op): New function.
 * config/arm/constraints.md (Dd): New constraint.
 * config/arm/predicates.md (arm_adddi_operand): New predicate.
 * config/arm/arm.md (adddi3): Extend it to handle constants.
 (arm_adddi3): Likewise.
 (addsi3_carryin_<optab>): Extend it to handle sbc case.
 (addsi3_carryin_alt2_<optab>): Likewise.
 * config/arm/neon.md (adddi3_neon): Extend it to handle constants.

 gcc/testsuite/
 2012-07-01 Wei Guozhi <email address hidden>

 PR target/53447
 * gcc.target/arm/pr53447-1.c: New testcase.
 * gcc.target/arm/pr53447-2.c: New testcase.
 * gcc.target/arm/pr53447-3.c: New testcase.
 * gcc.target/arm/pr53447-4.c: New testcase.

2012-07-05 Ramana Radhakrishnan <email address hidden>

 gcc/
 * LINARO-VERSION: Bump version.

1 blueprint and 1 bug targeted

Blueprint Priority Assignee Delivery
Fix partial-partial PRE Fix partial-partial PRE 3 Medium Michael Hope  11 Implemented
Bug report Importance Assignee Status
1020601 #1020601 Strange behaviour with __builtin_unreachable() 4 Medium Ulrich Weigand  10 Fix Released
This milestone contains Public information
Everyone can see this information.