[llvm] [SPIRV] Add Int64Atomics to Vulkan available capabilities (PR #203194)

Arseniy Obolenskiy via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 01:15:06 PDT 2026


https://github.com/aobolensk created https://github.com/llvm/llvm-project/pull/203194

fixes #202456

>From d2a894306b9fa2ebb1c3ca943cdee9a358681b79 Mon Sep 17 00:00:00 2001
From: Arseniy Obolenskiy <arseniy.obolenskiy at amd.com>
Date: Thu, 11 Jun 2026 10:14:35 +0200
Subject: [PATCH] [SPIRV] Add Int64Atomics to Vulkan available capabilities

fixes #202456
---
 llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp                 | 1 +
 .../CodeGen/SPIRV/hlsl-intrinsics/InterlockedAdd_spv_i64.ll   | 4 ----
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
index bb6245778b2ea..42a7c51426196 100644
--- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
@@ -1003,6 +1003,7 @@ void RequirementHandler::initAvailableCapabilitiesForVulkan(
 
   // Core in Vulkan 1.1 and earlier.
   addAvailableCaps({Capability::Int64,
+                    Capability::Int64Atomics,
                     Capability::Float16,
                     Capability::Float64,
                     Capability::GroupNonUniform,
diff --git a/llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedAdd_spv_i64.ll b/llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedAdd_spv_i64.ll
index d95bc50af1110..794c0a925862a 100644
--- a/llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedAdd_spv_i64.ll
+++ b/llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedAdd_spv_i64.ll
@@ -1,10 +1,6 @@
 ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv1.6-vulkan1.3-compute %s -o - | FileCheck %s
 ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv1.6-vulkan1.3-compute %s -o - -filetype=obj | spirv-val %}
 
-; XFAIL: *
-; Int64Atomics capability is not yet available for Vulkan targets.
-; See https://github.com/llvm/llvm-project/issues/202456
-
 ; Test lowering of llvm.spv.interlocked.add with i64 to OpAtomicIAdd.
 
 ; CHECK-DAG: %[[#ulong:]] = OpTypeInt 64 0



More information about the llvm-commits mailing list