Aside from improvements to Link-Time Optimizations
, run-time library improvements
, and a new optimization level
, the coming release of GCC 4.8
also features support for yet-to-be-out AMD hardware. AMD's Steamroller "Bulldozer 3" processor is already supported with compiler optimizations and so is AMD Jaguar, their new low-power APU that's rumoured to be in the next-generation consoles.
Compiler support and optimizations coming into GCC and LLVM/Clang is nothing new but generally comes months or even a year ahead of the product launch
so that the CPU support is in good shape. Intel has long had Haswell support in GCC for the better part of two years before the product is set to debut. ARM Holdings has already committed AArch64 (64-bit ARM) support too for both LLVM/Clang and GCC.
Even as AMD has been cutting back on their Linux and open-source activities, GCC 4.8 will feature support for their upcoming products. GCC 4.8 has support for AMD Steamroller (Family 15h) and Jaguar (Family 16h).
The Steamroller GCC patches were published last October
. Steamroller is the third-generation Bulldozer processor set to come in 2013 as the "Next Generation Bulldozer" and replacement to Vishera "Bulldozer 2" CPUs. It's expected that Steamroller will feature greater parallelism and manufactured on a 28nm process.
AMD Jaguar will be part of the Fusion family as a low-power APU and is the Brazos 2 successor. Jaguar will also come in 2013 and will introduce support for SSE4.1/SSE4.2/AES/AVX/BMI/F16C and other new instruction set extensions, an expanded memory address space, a more powerful FPU, and other improvements. It's also been reported that the next-generation Microsoft Xbox and Sony PlayStation will both be powered by an AMD Jaguar APU.
Optimizing software builds with GCC 4.8+ for Steamroller is done through the -march=bdver3 -mtune=bdver3
compiler switches. Targeting builds for Jaguar can be done with the -march=btver2 -mtune=btver2
switches. GCC 4.8 will be officially released around March or April of this year.