Linaro GCC 4.5-2011.05-0

Milestone information

Project:
Linaro GCC
Series:
4.5
Version:
4.5-2011.05-0
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:
2 Andrew Stubbs, 2 Michael Hope, 1 Ramana Radhakrishnan, 1 Richard Sandiford, 1 Ulrich Weigand
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
7 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-2011.05-0.tar.bz2 (md5, sig) Linaro GCC Source 5,429
last downloaded 65 weeks ago
Total downloads: 5,429

Release notes 

Linaro GCC 4.5 2011.05 is the tenth release in the 4.5 series. Based off the latest
GCC 4.5.3+svn173417, it adds new optimisations, much improved support
for strided load/stores, and fixes for many of the issues found in the last month.

Interesting changes in 4.5 include:
 * Updates to 4.5.3+r173417
 * Performance improvements in NEON strided loads and stores
 * Performance improvements targeted at EEMBC CoreMark
 * Precompiled header support on recent Linux kernels

Fixes:
 * LP: #660156: Heap randomisation causes PCH testsuite failures
 * LP: #784375: vset_lane_u8 intrinsic generates wrong lane number
 * LP: #759409: Profiled bootstrap fails in FSF GCC 4.5
 * LP: #723086: Test regressions in the Fortran test suite

The strided load/store improvements allow both NEON intrinsics and the
vectoriser to efficiently access values that occur at every n'th
address, such as all of the red values in a RGB image or all of the
left channel samples in a interleaved audio array. Previous versions of GCC
would unpack the values onto the stack instead of using the registers
directly.

Changelog 

View the full changelog

2011-05-13 Michael Hope <email address hidden>

 gcc/
 Backport from mainline:

 2011-05-05 Michael Hope <email address hidden>

 PR pch/45979
 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
 __ARM_EABI__ hosts.

2011-05-11 Ramana Radhakrishnan <email address hidden>

 Backport from mainline
 Julian Brown <email address hidden>
 gcc/
 * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
 parenthesis in D-register case.
 gcc/testsuite/
 * gcc.target/arm/neon-vset_lanes8.c: New test.

2011-05-05 Andrew Stubbs <email address hidden>

 Merge from FSF 4.5 branch r173417 (pre 4.5.4).

2011-05-03 Tom de Vries <email address hidden>

 gcc/
 * stmt.c (set_jump_prob): Make robust against *inv_scale == 0.

2011-05-06 Richard Sandiford <email address hidden>

 gcc/
 From Sergey Grechanik <email address hidden>, approved for mainline

 * config/arm/arm.c (coproc_secondary_reload_class): Return NO_REGS
 for constant vectors.

2011-04-28 Andrew Stubbs <email address hidden>

 Merge from FSF 4.5 branch r173113 (4.5.3 release).

2011-04-20 Richard Sandiford <email address hidden>

 gcc/
 PR target/46329
 * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
 for all Neon struct constants.

2011-04-20 Richard Sandiford <email address hidden>

 gcc/
 * doc/tm.texi (LEGITIMATE_CONSTANT_P): Replace with...
 (TARGET_LEGITIMATE_CONSTANT_P): ...this.
 * target.h (gcc_target): Add legitimate_constant_p.
 * target-def.h (TARGET_LEGITIMATE_CONSTANT_P): Define.
 (TARGET_INITIALIZER): Include it.
 * calls.c (precompute_register_parameters): Replace uses of
 LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
 (emit_library_call_value_1): Likewise.
 * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
 (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
 * recog.c (general_operand, immediate_operand): Likewise.
 * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
 * reload1.c (init_eliminable_invariants): Likewise.
 * targhooks.h (default_legitimate_constant_p); Declare.
 * targhooks.c (default_legitimate_constant_p): New function.

 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
 * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
 (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
 * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
 (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
 (arm_legitimate_constant_p): New functions.
 (arm_cannot_force_const_mem): Make static.

2011-04-20 Richard Sandiford <email address hidden>

 gcc/
 * hooks.h (hook_bool_mode_uhwi_false): Declare.
 * hooks.c (hook_bool_mode_uhwi_false): New function.
 * doc/tm.texi (TARGET_ARRAY_MODE_SUPPORTED_P): Document.
 * target.h (array_mode_supported_p): New hook.
 * target-def.h (TARGET_ARRAY_MODE_SUPPORTED_P): Define if undefined.
 (TARGET_INITIALIZER): Include it.
 * stor-layout.c (mode_for_array): New function.
 (layout_type): Use it.
 * config/arm/arm.c (arm_array_mode_supported_p): New function.
 (TARGET_ARRAY_MODE_SUPPORTED_P): Define.

2011-04-20 Richard Sandiford <email address hidden>

 gcc/testsuite/
 Backport from mainline:

 2011-04-12 Richard Sandiford <email address hidden>

 * gcc.target/arm/neon-vld3-1.c: New test.
 * gcc.target/arm/neon-vst3-1.c: New test.
 * gcc.target/arm/neon/v*.c: Regenerate.

 gcc/
 Backport from mainline:

 2011-04-12 Richard Sandiford <email address hidden>

 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
 size of a '%A' memory reference.
 (T_DREG, T_QREG): New neon_builtin_type_bits.
 (arm_init_neon_builtins): Assert that the load and store operands
 are neon_struct_operands.
 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
 (NEON_ARG_MEMORY): New builtin_arg.
 (neon_dereference_pointer): New function.
 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
 Handle NEON_ARG_MEMORY.
 (arm_expand_neon_builtin): Update after above interface changes.
 Use NEON_ARG_MEMORY for loads and stores.
 * config/arm/predicates.md (neon_struct_operand): New predicate.
 * config/arm/neon.md (V_two_elem): Tweak formatting.
 (V_three_elem): Use BLKmode for accesses that have no associated mode.
 (neon_vld1<mode>, neon_vld1_dup<mode>)
 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
 (neon_vst4<mode>): Replace pointer operand with a memory operand.
 Use %A in the output template.
 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
 the width of the memory access. Remove post-increment.
 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.

2011-04-20 Richard Sandiford <email address hidden>

 gcc/
 Backport from mainline:

 2011-03-30 Richard Sandiford <email address hidden>
      Ramana Radhakrishnan <email address hidden>

 PR target/43590
 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
 operand 1 and reshuffle the operands to match.
 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.

2011-04-26 Chung-Lin Tang <email address hidden>

 Backport from mainline:

 2011-03-21 Chung-Lin Tang <email address hidden>

 gcc/
 * simplify-rtx.c (simplify_binary_operation_1): Handle
 (xor (and A B) C) case when B and C are both constants.

 gcc/testsuite/
 * gcc.target/arm/xor-and.c: New.

 2011-03-18 Chung-Lin Tang <email address hidden>

 gcc/
 * combine.c (try_combine): Do simplification only call of
 subst() on i2 even when i1 is present. Update comments.

 gcc/testsuite/
 * gcc.target/arm/unsigned-extend-1.c: New.

0 blueprints and 7 bugs targeted

Bug report Importance Assignee Status
714921 #714921 gcc-linaro uses an unreasonable amount of memory to compile qemu on armel 4 Medium Richard Sandiford  10 Fix Released
723086 #723086 GCC 4.5 20110221 test regressions 4 Medium Andrew Stubbs  10 Fix Released
723086 #723086 GCC 4.5 20110221 test regressions 4 Medium Andrew Stubbs  10 Fix Released
759409 #759409 Profiled bootstrap fails in FSF GCC 4.5 4 Medium Ulrich Weigand  10 Fix Released
784375 #784375 vset_lane_u8 inrinsic generates wrong lane number 4 Medium Ramana Radhakrishnan  10 Fix Released
660156 #660156 Heap randomisation causes PCH testsuite failures 5 Low Michael Hope  10 Fix Released
660156 #660156 Heap randomisation causes PCH testsuite failures 5 Low Michael Hope  10 Fix Released
This milestone contains Public information
Everyone can see this information.