LLVM/Clang 22 feature development ended overnight with the code now being branched and working toward a stable release likely by the end of February.
LLVM/Clang 22 was branched and thus feature development is over as now they begin working on the release candidate phase with bug fixing. This half-year update to the LLVM compiler stack brings a lot of new hardware support, various new compiler features and language support, and other enhancements.
Some of the LLVM 22 highlights include:
– Clang now supports Named Loops for C2y, among other early C2y language work.
– More SSE, AVX, and AVX-512 intrinsics can now be used in C++ constant expressions. Some intrinsics have also been converted to wrap __builtin intrinsics.
– Clang support for Ampere Computing’s Ampere1C CPUs. Ampere-1C processor cores are likely for Ampere Aurora.
– Dropping the AVX10 256-bit vs. 512-bit options now that Intel thankfully abandoned their AVX10 256-bit only plans.
– There is support for Intel Wildcat Lake with -march=wildcatlake and Intel Nova Lake with -march=novalake with APX and AVX10.2.
– Some long overdue optimizations for AMD Zen 4.
– Clang on ARM64 now supports the Arm C1 Nano, C1 Pro, C1 Prmeium, and C1 Ultra processors.
– LLVM assembler and disassembler support for Armv9.7-A (2025) architecture extensions.
– RISC-V support for Zvfbfa for additional BF16 vector compute support.
– NVIDIA Olympus CPU scheduling model is added.
– Intel upstreamed the libsycl SYCL Runtime Library.
– LLVM 22 began seeing Distributed ThinLTO “DTLTO” support upstreaming.
– AMD contributed BFloat16 for LLVM’s SPIR-V target.
– The Ssctr and Smctr RISC-V extensions are also deemed no longer experimental nor are Qualcomm’s Xqci and Xqccmp vendor extensions.
– LLVM 22 has finally eliminated the last support for Google Native Client (NaCl).
LLVM Clang 23 meanwhile is now under feature development in LLVM Git.
LLVM 22 release candidates will begin soon with an aim of allowing LLVM Clang 22.1 stable to hopefully be released by the end of February.
