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