AMD Publishes Bdver4 (Excavator) GCC Compiler Patch
AMD released details about the Kaveri launch this week at their APU13 Developer Summit that is their third-generation Bulldozer architecture. On the Linux side they released yesterday a Cryptographic Coprocessor Linux driver and now in Linux news unrelated to the AMD CCP they have done initial enablement of the fourth-generation Bulldozer for the GNU Compiler Collection.
While bdver3/Steamroller hardware has been slow to surface, its compiler optimizations and initial enablement happened in October of 2012. With major GCC releases happening just once per year and new CPUs liking to tack on new instruction set extensions and other areas for optimization, AMD and Intel and ARM have all been quick to work on GCC and LLVM/Clang support long prior to the hardware's public availability.
Ganesh Gopalasubramanian of AMD sent out the first "bdver4" enablement patch this morning to the GCC mailing list. This next version of AMD's core adds in AVX2 and BMI2 support over the bdver3 optimizations in GCC. Bdver4 is expected to be known with the AMD micro-architecture codename of Excavator.
The bdver4 / Excavator scheduling is similar to bdver3 and there's also still three pipelined FP units and two integer units. The CPU instruction extension supersets in full for "bdver4" include BMI, BMI2, TBM, F16C, FMA, AVX, AVX2, XOP, LWP, AES, PCL_MUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM.
There isn't much more to see from the initial GCC compiler enablement for AMD bdver4 (Excavator) but it can be found on the gcc-patches list and will likely be committed to SVN head shortly for the GCC 4.9 release in 2014 while we need to wait until 2015 for playing with the new APUs.