diff --git a/tools/clang/lib/Headers/hlsl/dx/linalg.h b/tools/clang/lib/Headers/hlsl/dx/linalg.h index e223f2286e..3e7eee1aab 100644 --- a/tools/clang/lib/Headers/hlsl/dx/linalg.h +++ b/tools/clang/lib/Headers/hlsl/dx/linalg.h @@ -652,7 +652,7 @@ OuterProduct(vector VecA, vector VecB) { template typename hlsl::enable_if::value, void>::type -InterlockedAccumulate(RWByteAddressBuffer Res, vector Vec, +InterlockedAccumulate(vector Vec, RWByteAddressBuffer Res, uint StartOffset, uint Align = 64) { __builtin_LinAlg_VectorAccumulateToDescriptor(Vec, Res, StartOffset, Align); } diff --git a/tools/clang/test/CodeGenDXIL/hlsl/linalg/api/vectors.hlsl b/tools/clang/test/CodeGenDXIL/hlsl/linalg/api/vectors.hlsl index 3d1735aa9c..b449a29635 100644 --- a/tools/clang/test/CodeGenDXIL/hlsl/linalg/api/vectors.hlsl +++ b/tools/clang/test/CodeGenDXIL/hlsl/linalg/api/vectors.hlsl @@ -193,9 +193,9 @@ void main(uint ID : SV_GroupID) { // CHECK: call void @dx.op.linAlgVectorAccumulateToDescriptor.v4f16(i32 -2147483617, <4 x half> // CHECK-SAME: , %dx.types.Handle %{{[0-9]+}}, i32 0, i32 64) // CHECK-SAME: ; LinAlgVectorAccumulateToDescriptor(vector,handle,offset,align) - InterlockedAccumulate(RWBAB, vec1, 0); + InterlockedAccumulate(vec1, RWBAB, 0); // CHECK: call void @dx.op.linAlgVectorAccumulateToDescriptor.v8f16(i32 -2147483617, <8 x half> %{{[0-9]+}}, // CHECK-SAME: %dx.types.Handle %{{[0-9]+}}, i32 8, i32 64) ; LinAlgVectorAccumulateToDescriptor(vector,handle,offset,align) - InterlockedAccumulate(RWBAB, vec2, 8); + InterlockedAccumulate(vec2, RWBAB, 8); }