LLVM/Clang 编译器已合并 AMD Zen 6 "znver6" 初步支持
昨晚,LLVM/Clang 编译器代码库合并了对下一代 AMD Zen 6 处理器的初步支持,目标为 znver6。早在去年 12 月,GNU 编译器集合(GCC)就已通过 -march=znver6 支持合并了初步的 AMD Zen 6 编译器支持。GCC 16.1 稳定版将于 3 月至 4 月发布,届时将包含这一初步的 AMD Zen 6 编译器支持。现在,类似的初步支持已在 LLVM/Clang Git 代码库中落地。
LLVM 的主要 Git 代码目前正追踪即将成为 LLVM/Clang 23 的版本,其稳定版计划于 9 月发布。此外,Znver6 支持也可能被反向移植到即将发布的 LLVM/Clang 22 稳定系列中。LLVM 之前已有过新 CPU 目标反向移植的先例,而 LLVM/Clang 22 稳定版要到 2 月下旬才发布,因此 Znver6 反向移植的可能性很大。
虽然 -march=znver6 现在已在 LLVM/Clang 中工作,但当前的 LLVM 代码尚未支持 Zen 6 的新 AVX-512 BMM 位操作指令。这将在后续补丁中实现。AVX-512 BMM 允许进行位矩阵乘法和位反转操作。
这个提交就是昨晚在 LLVM 中落地 AMD Zen 6 支持的原因。与过去 AMD 直到产品发布时甚至之后才提供开源编译器支持相比,这次 Zen 6 支持提前实现,令人欣喜。特别是考虑到 GCC 的发布周期较长,而 LLVM/Clang 虽采用六个月发布节奏,但尚不清楚是否会批准反向移植到 LLVM 22,至少 LLVM 23 将于 9 月发布,很可能仍早于新的 Ryzen 和 EPYC 处理器上市。
需要注意的是,目前 Zen 6 仍依赖 Zen 5 的调优信息。希望 AMD 能及时提供 Zen 6 的适当指令调优/成本表,以便纳入下一个编译器版本。延迟的调优/成本表仍是 AMD 编译器支持往往滞后的一个领域。
与此同时,在图形方面,AMD 昨天通过 AMDGPU 后端向 LLVM 添加了 GFX1170 "RDNA 4m" 目标。
原文链接:Initial AMD Zen 6 "znver6" Support Merged For LLVM/Clang |