AMD Zen 2 "znver2" Support Lands In LLVM Clang 9.0

Written by Michael Larabel in AMD on 27 February 2019 at 04:09 AM EST. 3 Comments
AMD
While it didn't make it in time for the soon to be released LLVM 8.0, the latest LLVM/Clang 9.0 development code has just added support for the Zen 2 "znver2" processors.

Back in October is when AMD published the Znver2 compiler patch for GCC that builds atop the existing Zen "znver1" support while adding in the new instructions of Cache Line Write Back (CLWB), Read Processor ID (RDPID), and Write Back and Do Not Invalidate Cache (WBNOINVD). It was the first-cut support and still leveraged the same cost tables and scheduler data from the current-generation Zen processors. That support was quickly merged, making it for the upcoming GCC 9.1 stable compiler release, so that when these next-generation processors hit it will be possible to use -march=znver2 for generating optimized code for these 7nm AMD CPUs.

Over in the LLVM/Clang space, as of Tuesday the necessary bits landed in LLVM and Clang. Like the GCC 9 state, the same scheduler model as Znver1 is currently used and enables the CLWB / RDPID / WBNOINVD over what's found with Znver1.

As LLVM Clang 9.0 won't be shipping until September or so, there still is plenty of time for getting this Zen 2 CPU support better tuned. AMD Zen 2 CPUs are expected to begin rolling out around the middle of this year.
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