Recapping The New Features Of GCC 6: OpenMP 4.5, HSA, C++14, AMD Zen & More

Written by Michael Larabel in GNU on 11 April 2016 at 08:28 AM EDT. 5 Comments
GNU
As GCC 6 should be officially released soon, here's a quick overview of the improvements and new features for this yearly free software compiler update.

Highlights of the forthcoming GCC 6 stable release include:

- Many link-time optimization (LTO) improvements for being able to deliver even greater performance. There are also a number of inter-procedural optimizations too.

- OpenMP 4.5 is supported by the GCC 6 C/C++ compilers.

- The GNU C/C++ compilers now support attributes on enumerators.

- The GCC C++ compiler (G++) now defaulting to GNU++14 (C++14) rather than the dated GNU++98 standard. While not the default, GCC 6 has added more C++17 support.

- GCC 6's libstdc++ has experimental C++17 support as well as an experimental implementation of the File System TS and v2 of the Library Fundamentals TS.

- Improvements to libgccjit as the embeddable GCC JIT (Just-In-Time compiler) library.

- Various ARM improvements.

- Support for generating HSA IL. That's the Heterogeneous System Architecture's Intermediate Language. In combination with a new plguin for libgomp in GCC 6, simple OpenMP can be transformed into HSAIL to then run on HSA-capable GPUs with a HSA runtime.

- AVX512 support is available for the few Skylake Xeons having this latest version of Advanced Vector Extensions.

- Support for new AMD instructions of monitorx and mwaitx. There's support for AMD Zen CPUs in GCC 6 via the -march=znver1 and -mtune=znver1 switches.

- Initial support for IBM Power9 processors using the OpenPOWER ISA 3.0 specification.

- Support for the IBM z13 processor is present in GCC 6 along with other S/390 / IBM z improvements.

- GCC 6 supports the Musl C library on Linux with AArch64 / ARM / MIPS / PowerPC / i386 / x32 / x86_64 targets, among others. The Musl support can be used with the -mmusl switch if it's not the default libc implementation.

You can find the exhaustive list of forthcoming GCC 6 features via this GNU.org page.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week