The Linaro Toolchain Working Group (TCWG) is pleased to announce the 2017.09 snapshot of the Linaro GCC 7 source package.
The GCC 7 series introduced an ABI change for ARM targets by fixing a bug (present since GCC 5, see link below) that affects conformance to the procedure call standard (AAPCS). The bug affects some C++ code where class objects are passed by value to functions and could result in incorrect or inconsistent code being generated. If the option -Wpsabi is enabled (on by default) the compiler will emit a diagnostic note for code that might be affected by this ABI change.
For an explanation of the changes please see the following website:
This monthly snapshot1 is based on FSF GCC 7.2+svn252337 and includes performance improvements and bug fixes backported from mainline GCC. The contents of this snapshot will be part of the 2017.11 stable2 quarterly release.
Interesting changes in this GCC source package snapshot include:f
- Updates to GCC 7.2+svn252337
- Backport of [Bugfix] [AArch32] PR target/77308 surprisingly large stack usage for sha512 on arm
- Backport of [AArch32] Fix ldrd offsets
- Backport of [AArch32] Remove %? string from some Advanced SIMD patterns
- Backport of [AArch64] Add optimized implementation of mersenne twister
- Backport of [AArch64] Add RDMA support to falkor port
- Backport of [AArch64] Fix big endian float immediate moves
- Backport of [AArch64] Fix missing optimization for CMP+AND
- Backport of [AArch64] Fix pattern guard relaxations that are allowing more constants than they should
- Backport of [AArch64] Fix ThunderX fp vectorizer cost model
- Backport of [AArch64] Generate MLA when multiply + add vector by scalar
- Backport of [AArch64] Implement ALU_BRANCH fusion
- Backport of [AArch64] Improve aarch64 conditional compare usage
- Backport of [AArch64] Improve thunderx_vect_cost some more
- Backport of [AArch64] Move the check for any_condjump_p from sched-deps to target macros
- Backport of [AArch64] Only allow 0s unconditionally for floating point values
- Backport of [AArch64] Optimize float immediate moves-HF/DF/SF mode
- Backport of [AArch64] Optimize float immediate moves-infrastructure
- Backport of [AArch64] Optimize float immediate moves-testsuite
- Backport of [AArch64] Optimize integer immediate moves with partial masks
- Backport of [Tesstuite] Fix dg-require-stack-check
- Backport of [Testsuite] [AArch32] Add -mfloat-abi=hard to arm_neon_ok
- Backport of [Testsuite] [AArch64] Fix dbl_mov_immediate_1.c test
- Backport of [Testsuite] [AArch64] gcc.target/aarch64/ccmp_2.c: New test
- Backport of [Cleanup] [AArch32] PR target/68535 arm.c: 5 * set but not used
- Backport of [Doc] [AArch64] Clean up AArch64 options
Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to stay on top of Linaro development.
- Linaro Toolchain Development mailing list
- Linaro Toolchain IRC channel on irc.freenode.net at
- Bug reports should be filed in bugzilla against GCC product:http://bugs.linaro.org/enter_bug.cgi?product=GCC
- Interested in commercial support? inquire at Linaro support
1 Source package snapshots are defined when the compiler is only put through unit-testing and full validation is not performed.
2 Stable source package releases are defined as releases where the full Linaro Toolchain validation plan is executed.