The Linaro Toolchain Working Group is pleased to announce the release of both Linaro GCC 4.5 and Linaro GCC 4.6.
Linaro GCC 4.5 is the eighth release in the 4.5 series. Based off the latest GCC 4.5.2+svn170352, it includes many ARM-focused performance improvements and bug fixes.
Interesting changes include: * Adds a new 'shrink wrap' optimisation * Improves performance by making better use of the LDM/STM instructions * Fixes a segfault crash in Qt applications (LP: #705689) * Fixes a mis-compilation in the SPEC2006 gromacs benchmark (LP: #693502) * Fixes to the NEON intrinsics exposed through a NEON test suite (LP: #710623, LP: #710652) * Fixes an internal compiler error when tuning for XSCALE (LP: #721021) * Fixes a problem with loading zero using a NEON conditional load (LP: #709453)
Shrink wrapping is an optimisation that delays writing out the prologue until it is first needed. This helps functions that exit early by reducing the amount of data pushed out to memory. It is enabled by default at -O1 and can be disabled using '-fno-shrink-wrap'.
Linaro GCC 4.6 is an alpha release of the upcoming 4.6 series, and is intended for distributions or integrators who wish to start packaging and testing the compiler early.
Note that no changes were made to Linaro GCC 4.4. 4.4-2010.02-0 stays the current release.
The source tarballs are available from: https://launchpad.net/gcc-linaro/+milestone/4.5-2011.03-0 and https://launchpad.net/gcc-linaro/+milestone/4.6-2011.03-0
Downloads are available from the Linaro GCC page on Launchpad: https://launchpad.net/gcc-linaro
-- Michael