[llvm] a080e34 - AMDGPU: Fix missing immarg on buffer.atomic.fadd intrinsic
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 5 11:34:32 PDT 2020
Author: Matt Arsenault
Date: 2020-06-05T14:34:07-04:00
New Revision: a080e345e439936d7f2d4733d0512c1b7d51e648
URL: https://github.com/llvm/llvm-project/commit/a080e345e439936d7f2d4733d0512c1b7d51e648
DIFF: https://github.com/llvm/llvm-project/commit/a080e345e439936d7f2d4733d0512c1b7d51e648.diff
LOG: AMDGPU: Fix missing immarg on buffer.atomic.fadd intrinsic
Added:
Modified:
llvm/include/llvm/IR/IntrinsicsAMDGPU.td
llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll
Removed:
################################################################################
diff --git a/llvm/include/llvm/IR/IntrinsicsAMDGPU.td b/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
index 40449304ed04..9024f34da972 100644
--- a/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+++ b/llvm/include/llvm/IR/IntrinsicsAMDGPU.td
@@ -1725,7 +1725,7 @@ class AMDGPUBufferAtomicNoRtn : Intrinsic <
llvm_i32_ty, // vindex(VGPR)
llvm_i32_ty, // offset(SGPR/VGPR/imm)
llvm_i1_ty], // slc(imm)
- [], "", [SDNPMemOperand]>,
+ [ImmArg<ArgIndex<4>>], "", [SDNPMemOperand]>,
AMDGPURsrcIntrinsic<1, 0>;
class AMDGPUGlobalAtomicNoRtn : Intrinsic <
diff --git a/llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll b/llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll
index aea502d86b78..29fc61fd1517 100644
--- a/llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll
+++ b/llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll
@@ -703,3 +703,12 @@ define void @test_mfma_f32_32x32x1f32(float %arg0, float %arg1, <32 x i32> %arg2
ret void
}
+
+declare void @llvm.amdgcn.buffer.atomic.fadd.f32(float, <4 x i32>, i32, i32, i1)
+define amdgpu_cs void @test_buffer_atomic_fadd(float %val, <4 x i32> inreg %rsrc, i32 %vindex, i32 %offset, i1 %slc) {
+ ; CHECK: immarg operand has non-immediate parameter
+ ; CHECK-NEXT: i1 %slc
+ ; CHECK-ENXT: call void @llvm.amdgcn.buffer.atomic.fadd.f32(float %val, <4 x i32> %rsrc, i32 %vindex, i32 %offset, i1 %slc)
+ call void @llvm.amdgcn.buffer.atomic.fadd.f32(float %val, <4 x i32> %rsrc, i32 %vindex, i32 %offset, i1 %slc)
+ ret void
+}
More information about the llvm-commits
mailing list