[llvm] [SPIRV] Add support for `bfloat16` atomics via the `SPV_INTEL_16bit_atomics` extension (PR #166257)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 3 21:02:12 PST 2025


================
@@ -1081,11 +1088,21 @@ static void AddAtomicFloatRequirements(const MachineInstr &MI,
     Reqs.addExtension(SPIRV::Extension::SPV_EXT_shader_atomic_float_add);
     switch (BitWidth) {
     case 16:
-      if (!ST.canUseExtension(
-              SPIRV::Extension::SPV_EXT_shader_atomic_float16_add))
-        report_fatal_error(ATOM_FLT_REQ_EXT_MSG("16_add"), false);
-      Reqs.addExtension(SPIRV::Extension::SPV_EXT_shader_atomic_float16_add);
-      Reqs.addCapability(SPIRV::Capability::AtomicFloat16AddEXT);
+      if (isBFloat16Type(TypeDef)) {
+        if (!ST.canUseExtension(SPIRV::Extension::SPV_INTEL_16bit_atomics))
----------------
arsenm wrote:

This pass should probably not be using fatal errors for anything 

https://github.com/llvm/llvm-project/pull/166257


More information about the llvm-commits mailing list