Linaro GCC Changelog

What's new in Linaro GCC 4.9 2014.08

Aug 27, 2014
  • Updates to GCC 4.9.2-pre+svn213803
  • Backport of [AArch64] Drop ISB after FPCR write.
  • Backport of [AArch64] Remove from arm_neon.h functions not in the spec
  • Backport of [AArch32] Fix check for __FAST_MATH in arm_neon.h
  • Backport of [AArch64] fix and enable non-const shuffle for bigendian using TBL instruction
  • Backport of [AArch64] Fix constraint vec_unpack_trunk
  • Backport of [AArch32] Cortex-A5 rtx costs table
  • Backport of [AArch32] Handle clz, rbit types in arm pipeline descriptions
  • Backport of [AArch64] Fix argument types for some high_lane* intrinsics implemented in assembly
  • Backport of [AArch64] Handle fcvta[su] and frint in RTX cost function
  • Backport of [AArch64] Prologue rewrite + performance.

New in Linaro GCC 4.8 2014.04 (Aug 27, 2014)

  • Updates to GCC 4.8.3+svn208968
  • Cortex-a53 support
  • A fix for LP #1292489: Buggy vectorization of dot products
  • A fix for LP #1268893: ICE when building kernel raid6 neon code
  • A fix for LP #1273511: ICE APCS Frame & optimize-sibling-calls

New in Linaro GCC 4.8 2014.03 (Aug 27, 2014)

  • Updates to GCC 4.8.3+svn208264

New in Linaro GCC 4.8 2014.02 (Feb 14, 2014)

  • Updates to GCC 4.8.3+svn207411
  • ARM-v8 crypto intrinsics support
  • New vectorizer cost model

New in Linaro GCC 4.8 2014.01 (Jan 22, 2014)

  • Updates to GCC 4.8.3+svn206350
  • Enhanced multilib support

New in Linaro GCC 4.8 2013.12 (Jan 7, 2014)

  • Updates to GCC 4.8.3+svn205577
  • AArch64: enable build of libjava and libatomic. Change frame growth direction, thus enabling libssp build.

New in Linaro GCC 4.8 2013.11 (Nov 18, 2013)

  • Updates to GCC 4.8.2+svn204657
  • Fixes for bugs LP #1243656, #1243022
  • Backport fix for PR/58423
  • AArch64: added support for tiny model GOT access.
  • Improved AArch32 A-profile multilibs support (--with-multilib-list option)

New in Linaro GCC 4.8 2013.10 (Oct 18, 2013)

  • Updates to GCC 4.8.1+svn203510
  • Improved AArch64 support (CRC extension, improved intrinsics, gprof support)
  • Improved Aarch32 support (bug fixes, better code generation, improved multilib)
  • Backports for bug fixes (PR58578

New in Linaro GCC 4.8 2013.08 (Aug 19, 2013)

  • Updates to GCC 4.8.1+svn201477
  • Improved shrink-wrapping optimization.
  • Improved tail-calls optimization.
  • Improved AArch64 support (instructions, intrinsics).
  • Improved AArch64 vectorizer cost model.
  • Backports for bug fixes.

New in Linaro GCC 4.8 2013.07 (Jul 12, 2013)

  • Updates to GCC 4.8.0+svn200355
  • Address Sanitizer support for ARM.
  • New -mrestrict-it option support.
  • Backport of support for further AArch64 instructions.
  • Backport of support for further ARMv8 AArch32 instructions.
  • Reverted recent changes to shrink-wrapping and tail-calls.

New in Linaro GCC 4.8 2013.05 (May 20, 2013)

  • Updates to GCC 4.8.0+svn198615
  • Backport of support for prologue/epilogues using LDRD and STRD in ARM mode
  • Backport of support for further AArch64 instructions
  • Backport of support for further ARMv8 AArch32 instructions.

New in Linaro GCC 4.7 2013.03 (Mar 15, 2013)

  • Updates to GCC 4.7.2+svn196272
  • Includes arm/aarch64-4.7-branch up to svn revision 196225
  • A fix for LP #1135633: [linaro regression] alsa-tools FTBFS with error "unable to find a register to spill in class ‘AREG’"

New in Linaro GCC 4.7 2013.02-01 (Feb 21, 2013)

  • Updates to GCC 4.7.2+svn195745
  • Includes arm/aarch64-4.7-branch up to svn revision 195716
  • Support for Cortex-A7 backported from trunk

New in Linaro GCC 4.7 2013.02 (Feb 14, 2013)

  • Updates to GCC 4.7.2+svn195745
  • Includes arm/aarch64-4.7-branch up to svn revision 195716
  • Support for Cortex-A7 backported from trunk

New in Linaro GCC 4.7 2013.01 (Jan 18, 2013)

  • Interesting changes include:
  • Updates to GCC 4.7.2+svn194772
  • Includes arm/aarch64-4.7-branch up to svn revision 194808
  • Support for the rev16 and revsh instructions
  • A15 Neon pipeline backported from trunk
  • FMA intrinsic backported from trunk
  • Better extending core to NEON transfers
  • Fused multiply-add support
  • Fixes:
  • LP #1088898 regression of x86 gcc bootstrap with Linaro sourcebase
  • LP #1067766 Backport support for arm-linux-gnueabihf to GCC Linaro
  • LP #1084010 __atomic_load doesn't match ACQUIRE memory model

New in Linaro GCC 4.7 2012.12 (Dec 14, 2012)

  • Based off the latest GCC 4.7.2+svn194184 release, it includes ARM-focused performance improvements and bug fixes.
  • Interesting changes include:
  • Updates to GCC 4.7.2+svn19184
  • Better 64 bit shifts in NEON
  • Also includes arm/aarch64-4.7-branch up to svn revision 194154.
  • Fixes:
  • LP #1060221

New in Linaro GCC 4.7 2012.11 (Nov 15, 2012)

  • Interesting changes include:
  • Updates to GCC 4.7.2+svn193200
  • Also includes arm/aarch64-4.7-branch up to svn revision 193328.
  • Fixes:
  • LP #1065122
  • LP #1065559
  • LP #1067760

New in Linaro GCC 4.7 2012.10 (Oct 11, 2012)

  • Interesting changes include:
  • Updates to GCC 4.7.2+svn191881
  • Backport changes to use VLD1 for Neon quad loads.
  • Fixes:
  • LP 1053348: Missing binary files
  • Linaro GCC 4.6 2012.10 is the twentieth release in the 4.6 series. Based off the latest GCC 4.6.3+svn191880 release, this is the seventh release after entering maintenance.
  • Interesting changes include:
  • Updates to 4.6.3+svn191880
  • A fix to LP #1029454

New in Linaro GCC 4.7 2012.09 (Sep 14, 2012)

  • Interesting changes include:
  • Updates to GCC 4.7.1+svn191123
  • Adds support for the NEON vext instruction when shuffling
  • Backports improvements to scheduling transfers between VFP and core registers
  • Backports support for the UBFX instruction on certain bit extract idioms
  • Fixes:
  • PR54252 ICE with too wide alignment assertion on vectorised code
  • PR54212 ICE due to generating a predicated NEON vdup instruction

New in Linaro GCC 4.7 2012.07 (Jul 12, 2012)

  • Interesting changes include:
  • Updates to GCC 4.7.0+svn189098
  • Implements improvements to ivopts selection of addressing modes of floating point values.
  • Fixes:
  • LP: #1010826 - Invalid unaligned loads in vectorized code.

New in Linaro GCC 4.7 (Apr 12, 2012)

  • Interesting changes include:
  • Our first 4.7 based release
  • Updates to GCC 4.7.0+svn186061
  • Better use of 16 bit Thumb-2 instructions for smaller code size
  • Implements 64 bit ones complement in NEON
  • Adds support for the ARMv6 saturation instructions
  • Backports the NEON lexer improvements for faster compilation
  • Backports the 64 bit multiply, divide, and mod improvements
  • Fixes:
  • LP: #960283 slp pass assert when compiler configure with --enable-checking

New in Linaro GCC 4.6 2012.02 (Feb 9, 2012)

  • Interesting changes include:
  • Updates to 4.6.2+svn183786.
  • Add initial Cortex-A7 support.
  • Backport Cortex-A15 tuning improvements from upstream.
  • Backport improvements to 64 bit unsigned comparisons.
  • Fixes:
  • LP: #917967 Backport the fix for PR51799.
  • LP: #836588 armel FTBFS with gcc 4.5 org 4.6 O2 and fPIC.
  • LP: #879725 ICE in int_mode_for_mode, at stor-layout.c:490.

New in Linaro GCC 4.6 2012.01 (Jan 13, 2012)

  • Interesting changes include:
  • Updates to 4.6.2+svn182894
  • Fixes:
  • PR51301 ICE in vectorised widening multiplies
  • LP: #897583 Code generation bug with -O2 (-foptimize-sibling-calls)
  • LP: #736661 armel FTBFS due to compiler ICE

New in Linaro GCC 4.6 2011-12 (Dec 9, 2011)

  • Updates to 4.6.2+svn181866
  • Generic tuing support for Big-endian platforms.
  • SLP support for operations with arbirary numbers of operands.
  • SLP support for conditions.
  • Pattern recognition support in basic-block SLP.
  • Enhancements to mixed-size condition pattern recognition.
  • Support for 64bit __sync* primitives on ARM.
  • Unaligned block-move support for ARMv7.
  • Added Cortex-A15 integer pipeline tuning.

New in Linaro GCC 4.6 2011-11 (Nov 10, 2011)

  • Interesting changes include:
  • Updates to 4.6.2
  • A new -mtune=native flag to auto-detect the CPU of the build machine
  • A new -mtune=generic-* flag to tune for a blend of processors
  • Use of the ARMv7 unaligned access support for unaligned variables
  • Vectorization of widening shifts
  • Support for different load offsets and swap operands in SLP
  • Support for multiple types in SLP
  • Support for scheduling register moves in SMS
  • Fixes:
  • LP: #836401 ICE on a | (b

New in Linaro GCC 4.6 2011-09 (Sep 16, 2011)

  • Updates to 4.6.1+svn178681
  • Improves performance by making better use of conditional compares
  • Improves performance by properly scheduling widening multiplies
  • Improves size and speed by improving constant generation in Thumb-2
  • Implements support for widening multiples in toe core
  • Improves vectorised code by reducing the over-promotion of intermediates
  • Improves performance by reducing redundant moves between VFP and ARM
  • Finishes off supporting the Android team in integrating Linaro GCC
  • Fixes:
  • LP: #823548 Can't use -flto with skia
  • LP: #823711 libvirt version 0.9.2-4ubuntu8 failed to build on armel
  • LP: #827990 internal compiler error: in decode_addr_const, at varasm.c:2632
  • LP: #836401 ICE on a | (b

New in Linaro GCC 4.5 2011-08 (Aug 18, 2011)

  • LP: #736007 ICE immed_double_const at emit-rtl.c
  • LP: #809768 ICE when compiling bionic's libm
  • LP: #815777 Inconsistent packaging between tarball and root directory names

New in Linaro GCC 4.5 2011-07 (Jul 21, 2011)

  • Interesting changes include:
  • Updates to 4.6.1+r175677
  • Improves support for vector shifts by a constant
  • Improves handling of memory dependencies in the SMS optimisation
  • Improved vectorisation of widening multiplies by keeping the operands smaller for longer
  • Improves the peeling of potentially misaligned vectorised loops
  • Improved vectorisation of signed and unsigned widening multiplies by a constant
  • Merges the new upstream Cortex-A5 tuning
  • Fixes:
  • LP: #721531: Don't optimise out testing of the Thumb mode bit on function pointers
  • LP: #723185: ICE in reload_cse_simplify_operands when compiling with -marm -mfpu=neon
  • LP: #744754: ICE in *neon_movoi when using NEON intrinsics
  • LP: #791327: ICE due to using the stack pointer in RSB instructions
  • LP: #797748: ICE building SPEC2006 403.gcc emit-rtl.c
  • LP: #803232: ICE on code that uses vld4q_s16() NEON intrinsic
  • LP: #809435: Omit building the target libiberty when building a cross compiler
  • LP: #807573: ICE in *truncsisf2_vfp: Could not find a spill register
  • PR 49385: Ensure at least one of the operands is a register in thumb2_movhi_insn
  • Fixes an EABI unwinding bug that improves interoperability with armcc
  • Fixes a DWARF 2 problem exposed through shrinkwrap.
  • Fixes a bug in __builtin_isgreaterequal

New in Linaro GCC 4.5 2011-05 (May 19, 2011)

  • 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

New in Linaro GCC 4.5-2011.04 (Apr 21, 2011)

  • Based off the latest GCC 4.5.2+svn171921, it adds new optimisations, support for Android, and fixes for many of the issues found in the last month.

New in Linaro GCC 4.5 2011.02 (Feb 9, 2011)

  • Improved code generation in the __sync primitives
  • Better modelling of the Cortex-A9 NEON pipeline
  • Added a performance improvement that converts a tree of ifs into a switchs
  • Many bug fixes

New in Linaro GCC 4.5 2011.01-0 (Jan 12, 2011)

  • Improved optimization of multiple load instructions, and multiply-and-accumulate.
  • -fshrink-wrap optimization for better use of function prologues and epilogues.
  • plus, various other bug fixes, and minor improvements.

New in Linaro GCC 4.5 2010-12 (Dec 14, 2010)

  • A new performance focused extension elimination pass
  • Speed and size improvements when loading constants
  • Performance improvements on compound conditionals
  • A range of correctness improvements

New in Linaro GCC 4.5 2010-11 (Nov 9, 2010)

  • Various NEON related fixes
  • Performance improvements
  • A clean up of some of the testsuite test cases
  • An updated version of the __sync multicore primitives
  • Improvements in data packing when optimising for size
  • C locale support in libstdc++-v3
  • This release adds the new option -fstrict-volatile-bitfields and enables it by default on ARM. See doc/invoke.texi for more information.

New in Linaro GCC 4.5-2010.10 (Oct 12, 2010)

  • Linaro GCC 4.4 is now based off FSF GCC 4.4.5
  • Cortex A8 and Cortex A9 scheduler NEON improvements
  • Better code generation for constant addresses with inline assembly
  • Better code for copying small constant strings
  • Various correctness improvements

New in Linaro GCC 4.5-2010.09 (Sep 14, 2010)

  • The Linaro Toolchain Working Group is pleased to announce the release of both Linaro GCC 4.4 and Linaro GCC 4.5.
  • Linaro GCC 4.4 is the third release in the 4.4 series. Based off the latest GCC 4.4.4, it pulls in the pre-4.4.5 changes made by the FSF over the last six months.
  • Linaro GCC 4.5 is the second release in the 4.5 series. Based off the latest GCC 4.5.1, it finishes the merge many ARM-focused performance improvements and bug fixes.
  • Interesting changes include:
  • Improved performance on the Cortex-A9
  • Backports of a range of performance improvements from mainline
  • New inline versions of the GCC builtin sync primitives

New in Linaro GCC 4.4-2010-08 (Aug 12, 2010)

  • Linaro GCC 4.4 is the second release in the 4.4 series and fixes many of the issues found during building Ubuntu over the last few months.
  • Linaro GCC 4.5 is the first release in the 4.5 series. Based off the latest GCC 4.5.1, it includes many ARM-focused performance improvements and bug fixes.

New in Linaro GCC 4.4-2010.07-0 (Jul 19, 2010)

  • the CodeSourcery SourceryG++ patch-set (4.4 2010q1 version)
  • a selection of patches from Ubuntu gcc-4.4
  • miscellaneous bug fixes and small features