Sony Pushes More AMD Jaguar Optimizations To Upstream LLVM 10 Compiler
Sony engineers working on the PlayStation compiler toolchain continue upstreaming various improvements to the LLVM source tree for helping the AMD APUs powering their latest game console.
Several times now we've pointed out Sony engineers contributing AMD "btver2" improvements to upstream LLVM with the company using LLVM/Clang as their default code compiler and the PlayStation 4 relying on a Jaguar APU.
These improvements every few months working their way upstream are various optimizations/tuning specific to the "btver2" (Bobcat 2) target for benefiting their current PlayStation 4 console. We've also seen Sony already working on Zen improvements too given their next-generation console (PlayStation 5) is relying upon another AMD APU.
As for today's LLVM upstream activity, there are improvements today for latency and throughput of float/vector loads and stores. The cost for YMM loads/stores was incorrect previously in this back-end and other adjustments made around the YMM loads and stores defaults for this compiler target. Longtime compiler engineer Andrea Di Biagio of Sony is again responsible for this work. Besides his AMD compiler optimizations, he also continues to oversee the upstream LLVM-MCA machine code analyzer tool.
This patch is part of the LLVM 10 code-base going stable in early 2020. There will be some fresh LLVM 10 Git benchmarks coming up soon on Phoronix with various Intel/AMD CPUs.
Several times now we've pointed out Sony engineers contributing AMD "btver2" improvements to upstream LLVM with the company using LLVM/Clang as their default code compiler and the PlayStation 4 relying on a Jaguar APU.
These improvements every few months working their way upstream are various optimizations/tuning specific to the "btver2" (Bobcat 2) target for benefiting their current PlayStation 4 console. We've also seen Sony already working on Zen improvements too given their next-generation console (PlayStation 5) is relying upon another AMD APU.
As for today's LLVM upstream activity, there are improvements today for latency and throughput of float/vector loads and stores. The cost for YMM loads/stores was incorrect previously in this back-end and other adjustments made around the YMM loads and stores defaults for this compiler target. Longtime compiler engineer Andrea Di Biagio of Sony is again responsible for this work. Besides his AMD compiler optimizations, he also continues to oversee the upstream LLVM-MCA machine code analyzer tool.
This patch is part of the LLVM 10 code-base going stable in early 2020. There will be some fresh LLVM 10 Git benchmarks coming up soon on Phoronix with various Intel/AMD CPUs.
9 Comments