diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/copyconvertmatrix/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/copyconvertmatrix/ast.hlsl deleted file mode 100644 index 9ec01a4520..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/copyconvertmatrix/ast.hlsl +++ /dev/null @@ -1,17 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_CopyConvertMatrix 'void (__builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, bool)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} source '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} transpose 'bool' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 405 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat1; - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(4, 5, 4, 1, 2)]] mat2; - __builtin_LinAlg_CopyConvertMatrix(mat2, mat1, true); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/fillmatrix/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/fillmatrix/ast.hlsl deleted file mode 100644 index dd8f8afec8..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/fillmatrix/ast.hlsl +++ /dev/null @@ -1,15 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_FillMatrix 'void (__builtin_LinAlgMatrix & {{.*}}, unsigned int)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix &&__restrict {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} value 'unsigned int' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 406 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - __builtin_LinAlg_FillMatrix(mat, 15); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrix-builtins-ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrix-builtins-ast.hlsl new file mode 100644 index 0000000000..72af30e90d --- /dev/null +++ b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrix-builtins-ast.hlsl @@ -0,0 +1,193 @@ +// REQUIRES: dxil-1-10 +// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s + +RWByteAddressBuffer Buf; +groupshared float SharedArr[64]; + +[shader("compute")] +[numthreads(1,1,1)] +void main() { + __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat1; + __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(4, 5, 4, 1, 2)]] mat2; + __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat3; + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_CopyConvertMatrix 'void (__builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, bool)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} source '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} transpose 'bool' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 405 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_CopyConvertMatrix(mat2, mat1, true); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_FillMatrix 'void (__builtin_LinAlgMatrix & {{.*}}, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix &&__restrict {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} value 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 406 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_FillMatrix(mat1, 15); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixAccumulate 'void (__builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}})' extern +// CHECK-NEXT: ParmVarDecl {{.*}} matrixC '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} matrixLHS '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} matrixRHS '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 415 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_MatrixAccumulate(mat1, mat2, mat3); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixAccumulateToDescriptor 'void (__builtin_LinAlgMatrix {{.*}}, RWByteAddressBuffer, unsigned int, unsigned int, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} buf 'RWByteAddressBuffer' +// CHECK-NEXT: ParmVarDecl {{.*}} offset 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} stride 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} layout 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 419 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_MatrixAccumulateToDescriptor(mat1, Buf, 1, 2, 3); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixAccumulateToMemory 'void (__builtin_LinAlgMatrix {{.*}}, float const __attribute__((address_space(3))) (&)[64], unsigned int, unsigned int, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} memory 'float const __attribute__((address_space(3))) (&)[64]' +// CHECK-NEXT: ParmVarDecl {{.*}} offset 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} stride 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} layout 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 420 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_MatrixAccumulateToMemory(mat1, SharedArr, 0, 0, 0); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixGetCoordinate 'vector (__builtin_LinAlgMatrix {{.*}}, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} threadLocalIndex 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 407 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + uint2 coord = __builtin_LinAlg_MatrixGetCoordinate(mat1, 0); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixGetElement 'void (unsigned int &, __builtin_LinAlgMatrix {{.*}}, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} ret 'unsigned int &&__restrict' +// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} threadLocalIndex 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 408 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + uint elem1; + __builtin_LinAlg_MatrixGetElement(elem1, mat1, 3); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixGetElement 'void (float &, __builtin_LinAlgMatrix {{.*}}, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} ret 'float &&__restrict' +// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} threadLocalIndex 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 408 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + float elem2; + __builtin_LinAlg_MatrixGetElement(elem2, mat1, 4); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixLength 'unsigned int (__builtin_LinAlgMatrix {{.*}})' extern +// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 409 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_MatrixLength(mat1); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixLoadFromDescriptor 'void (__builtin_LinAlgMatrix & {{.*}}, RWByteAddressBuffer, unsigned int, unsigned int, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix &&__restrict {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} buf 'RWByteAddressBuffer' +// CHECK-NEXT: ParmVarDecl {{.*}} offset 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} stride 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} layout 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 410 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_MatrixLoadFromDescriptor(mat1, Buf, 0, 0, 0); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixLoadFromMemory 'void (__builtin_LinAlgMatrix {{.*}}, float const __attribute__((address_space(3))) (&)[64], unsigned int, unsigned int, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} memory 'float const __attribute__((address_space(3))) (&)[64]' +// CHECK-NEXT: ParmVarDecl {{.*}} offset 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} stride 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} layout 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 411 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_MatrixLoadFromMemory(mat1, SharedArr, 0, 0, 0); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixMatrixMultiply 'void (__builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}})' extern +// CHECK-NEXT: ParmVarDecl {{.*}} matrixC '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} matrixA '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} matrixB '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 416 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_MatrixMatrixMultiply(mat1, mat2, mat3); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixMatrixMultiplyAccumulate 'void (__builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}})' extern +// CHECK-NEXT: ParmVarDecl {{.*}} matrixR '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} matrixA '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} matrixB '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} matrixC '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 417 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_MatrixMatrixMultiplyAccumulate(mat1, mat2, mat3, mat1); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixOuterProduct 'void (__builtin_LinAlgMatrix {{.*}}, vector, vector)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} vecA 'vector':'vector' +// CHECK-NEXT: ParmVarDecl {{.*}} vecB 'vector':'vector' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 421 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + int4 vecA = {1,2,3,4}; + int4 vecB = {1,2,3,4}; + __builtin_LinAlg_MatrixOuterProduct(mat1, vecA, vecB); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixQueryAccumulatorLayout 'unsigned int ()' extern +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 418 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + uint layout = __builtin_LinAlg_MatrixQueryAccumulatorLayout(); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixSetElement 'void (__builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, unsigned int, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} threadLocalIndex 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} value 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 412 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_MatrixSetElement(mat2, mat1, 1, 1); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixStoreToDescriptor 'void (__builtin_LinAlgMatrix {{.*}}, RWByteAddressBuffer, unsigned int, unsigned int, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} buf 'RWByteAddressBuffer' +// CHECK-NEXT: ParmVarDecl {{.*}} offset 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} stride 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} layout 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 413 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + __builtin_LinAlg_MatrixStoreToDescriptor(mat1, Buf, 1, 2, 3); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixStoreToMemory 'void (__builtin_LinAlgMatrix {{.*}}, float const __attribute__((address_space(3))) (&)[64], unsigned int, unsigned int, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} memory 'float const __attribute__((address_space(3))) (&)[64]' +// CHECK-NEXT: ParmVarDecl {{.*}} offset 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} stride 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} layout 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 414 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + + __builtin_LinAlg_MatrixStoreToMemory(mat1, SharedArr, 0, 0, 0); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixVectorMultiply 'void (vector &, __builtin_LinAlgMatrix {{.*}}, vector, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} ret 'vector &&__restrict' +// CHECK-NEXT: ParmVarDecl {{.*}} mat '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} input 'vector':'vector' +// CHECK-NEXT: ParmVarDecl {{.*}} input_interp 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 422 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + float4 vec = {1,2,3,4}; + float4 result; + __builtin_LinAlg_MatrixVectorMultiply(result, mat1, vec, 1); + +// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixVectorMultiplyAdd 'void (vector &, __builtin_LinAlgMatrix {{.*}}, vector, unsigned int, vector, unsigned int)' extern +// CHECK-NEXT: ParmVarDecl {{.*}} ret 'vector &&__restrict' +// CHECK-NEXT: ParmVarDecl {{.*}} mat '__builtin_LinAlgMatrix {{.*}}' +// CHECK-NEXT: ParmVarDecl {{.*}} input 'vector':'vector' +// CHECK-NEXT: ParmVarDecl {{.*}} input_interp 'unsigned int' +// CHECK-NEXT: ParmVarDecl {{.*}} bias 'vector':'vector' +// CHECK-NEXT: ParmVarDecl {{.*}} bias_interp 'unsigned int' +// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 423 +// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" + float4 input = {1,2,3,4}; + float4 bias = {5,6,7,8}; + __builtin_LinAlg_MatrixVectorMultiplyAdd(result, mat1, input, 1, bias, 2); +} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixaccumulate/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixaccumulate/ast.hlsl deleted file mode 100644 index a1db99833d..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixaccumulate/ast.hlsl +++ /dev/null @@ -1,19 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixAccumulate 'void (__builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}})' extern -// CHECK-NEXT: ParmVarDecl {{.*}} matrixC '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} matrixLHS '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} matrixRHS '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 415 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat2; - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat3; - __builtin_LinAlg_MatrixAccumulate(mat, mat2, mat3); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixaccumulatetodescriptor/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixaccumulatetodescriptor/ast.hlsl deleted file mode 100644 index 026bc5e706..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixaccumulatetodescriptor/ast.hlsl +++ /dev/null @@ -1,20 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixAccumulateToDescriptor 'void (__builtin_LinAlgMatrix {{.*}}, RWByteAddressBuffer, unsigned int, unsigned int, unsigned int)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} buf 'RWByteAddressBuffer' -// CHECK-NEXT: ParmVarDecl {{.*}} offset 'unsigned int' -// CHECK-NEXT: ParmVarDecl {{.*}} stride 'unsigned int' -// CHECK-NEXT: ParmVarDecl {{.*}} layout 'unsigned int' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 419 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -RWByteAddressBuffer outbuf; - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - __builtin_LinAlg_MatrixAccumulateToDescriptor(mat, outbuf, 1, 2, 3); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixgetcoordinate/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixgetcoordinate/ast.hlsl deleted file mode 100644 index a783e0fa37..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixgetcoordinate/ast.hlsl +++ /dev/null @@ -1,15 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixGetCoordinate 'vector (__builtin_LinAlgMatrix {{.*}}, unsigned int)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} threadLocalIndex 'unsigned int' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 407 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - uint2 coord = __builtin_LinAlg_MatrixGetCoordinate(mat, 0); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixgetelement/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixgetelement/ast.hlsl deleted file mode 100644 index b8eef42699..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixgetelement/ast.hlsl +++ /dev/null @@ -1,28 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixGetElement 'void (unsigned int &, __builtin_LinAlgMatrix {{.*}}, unsigned int)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} ret 'unsigned int &&__restrict' -// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} threadLocalIndex 'unsigned int' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 408 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixGetElement 'void (float &, __builtin_LinAlgMatrix {{.*}}, unsigned int)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} ret 'float &&__restrict' -// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} threadLocalIndex 'unsigned int' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 408 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - - uint elem1; - __builtin_LinAlg_MatrixGetElement(elem1, mat, 3); - - float elem2; - __builtin_LinAlg_MatrixGetElement(elem2, mat, 4); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixlength/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixlength/ast.hlsl deleted file mode 100644 index 41f391c4b2..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixlength/ast.hlsl +++ /dev/null @@ -1,14 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixLength 'unsigned int (__builtin_LinAlgMatrix {{.*}})' extern -// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 409 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - __builtin_LinAlg_MatrixLength(mat); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixloadfromdescriptor/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixloadfromdescriptor/ast.hlsl deleted file mode 100644 index 6dd957fbe3..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixloadfromdescriptor/ast.hlsl +++ /dev/null @@ -1,20 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixLoadFromDescriptor 'void (__builtin_LinAlgMatrix & {{.*}}, RWByteAddressBuffer, unsigned int, unsigned int, unsigned int)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix &&__restrict {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} buf 'RWByteAddressBuffer' -// CHECK-NEXT: ParmVarDecl {{.*}} offset 'unsigned int' -// CHECK-NEXT: ParmVarDecl {{.*}} stride 'unsigned int' -// CHECK-NEXT: ParmVarDecl {{.*}} layout 'unsigned int' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 410 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -RWByteAddressBuffer inbuf; - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - __builtin_LinAlg_MatrixLoadFromDescriptor(mat, inbuf, 0, 0, 0); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixmatrixmultiply/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixmatrixmultiply/ast.hlsl deleted file mode 100644 index ddb9d14c5d..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixmatrixmultiply/ast.hlsl +++ /dev/null @@ -1,18 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixMatrixMultiply 'void (__builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}})' extern -// CHECK-NEXT: ParmVarDecl {{.*}} matrixC '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} matrixA '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} matrixB '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 416 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat1; - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat2; - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat3; - __builtin_LinAlg_MatrixMatrixMultiply(mat1, mat2, mat3); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixmatrixmultiplyaccumulate/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixmatrixmultiplyaccumulate/ast.hlsl deleted file mode 100644 index 59b2c3fe9b..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixmatrixmultiplyaccumulate/ast.hlsl +++ /dev/null @@ -1,19 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixMatrixMultiplyAccumulate 'void (__builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}})' extern -// CHECK-NEXT: ParmVarDecl {{.*}} matrixR '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} matrixA '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} matrixB '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} matrixC '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 417 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat1; - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat2; - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat3; - __builtin_LinAlg_MatrixMatrixMultiplyAccumulate(mat1, mat2, mat3, mat1); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixouterproduct/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixouterproduct/ast.hlsl deleted file mode 100644 index f4eea9609f..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixouterproduct/ast.hlsl +++ /dev/null @@ -1,19 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixOuterProduct 'void (__builtin_LinAlgMatrix {{.*}}, vector, vector)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} vecA 'vector':'vector' -// CHECK-NEXT: ParmVarDecl {{.*}} vecB 'vector':'vector' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 421 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - int4 vecA = {1,2,3,4}; - int4 vecB = {1,2,3,4}; - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - __builtin_LinAlg_MatrixOuterProduct(mat, vecA, vecB); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixqueryaccumulatorlayout/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixqueryaccumulatorlayout/ast.hlsl deleted file mode 100644 index 7eaefdec49..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixqueryaccumulatorlayout/ast.hlsl +++ /dev/null @@ -1,12 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixQueryAccumulatorLayout 'unsigned int ()' extern -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 418 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - uint layout = __builtin_LinAlg_MatrixQueryAccumulatorLayout(); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixsetelement/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixsetelement/ast.hlsl deleted file mode 100644 index 918fb25dc2..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixsetelement/ast.hlsl +++ /dev/null @@ -1,18 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixSetElement 'void (__builtin_LinAlgMatrix {{.*}}, __builtin_LinAlgMatrix {{.*}}, unsigned int, unsigned int)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} ret '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} threadLocalIndex 'unsigned int' -// CHECK-NEXT: ParmVarDecl {{.*}} value 'unsigned int' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 412 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat1; - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(4, 5, 4, 1, 2)]] mat2; - __builtin_LinAlg_MatrixSetElement(mat2, mat1, 1, 1); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixstoretodescriptor/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixstoretodescriptor/ast.hlsl deleted file mode 100644 index 9757142dc0..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixstoretodescriptor/ast.hlsl +++ /dev/null @@ -1,20 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixStoreToDescriptor 'void (__builtin_LinAlgMatrix {{.*}}, RWByteAddressBuffer, unsigned int, unsigned int, unsigned int)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} matrix '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} buf 'RWByteAddressBuffer' -// CHECK-NEXT: ParmVarDecl {{.*}} offset 'unsigned int' -// CHECK-NEXT: ParmVarDecl {{.*}} stride 'unsigned int' -// CHECK-NEXT: ParmVarDecl {{.*}} layout 'unsigned int' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 413 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -RWByteAddressBuffer outbuf; - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - __builtin_LinAlg_MatrixStoreToDescriptor(mat, outbuf, 1, 2, 3); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixvectormultiply/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixvectormultiply/ast.hlsl deleted file mode 100644 index e38c0dc151..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixvectormultiply/ast.hlsl +++ /dev/null @@ -1,21 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixVectorMultiply 'void (vector &, __builtin_LinAlgMatrix {{.*}}, vector, unsigned int)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} ret 'vector &&__restrict' -// CHECK-NEXT: ParmVarDecl {{.*}} mat '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} input 'vector':'vector' -// CHECK-NEXT: ParmVarDecl {{.*}} input_interp 'unsigned int' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 422 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - __builtin_LinAlg_FillMatrix(mat, 15); - - float4 vec = {1,2,3,4}; - float4 result; - __builtin_LinAlg_MatrixVectorMultiply(result, mat, vec, 1); -} diff --git a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixvectormultiplyadd/ast.hlsl b/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixvectormultiplyadd/ast.hlsl deleted file mode 100644 index b45b426ced..0000000000 --- a/tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixvectormultiplyadd/ast.hlsl +++ /dev/null @@ -1,24 +0,0 @@ -// REQUIRES: dxil-1-10 -// RUN: %dxc -T lib_6_10 -E main %s -ast-dump-implicit | FileCheck %s - -// CHECK: FunctionDecl {{.*}} implicit used __builtin_LinAlg_MatrixVectorMultiplyAdd 'void (vector &, __builtin_LinAlgMatrix {{.*}}, vector, unsigned int, vector, unsigned int)' extern -// CHECK-NEXT: ParmVarDecl {{.*}} ret 'vector &&__restrict' -// CHECK-NEXT: ParmVarDecl {{.*}} mat '__builtin_LinAlgMatrix {{.*}}' -// CHECK-NEXT: ParmVarDecl {{.*}} input 'vector':'vector' -// CHECK-NEXT: ParmVarDecl {{.*}} input_interp 'unsigned int' -// CHECK-NEXT: ParmVarDecl {{.*}} bias 'vector':'vector' -// CHECK-NEXT: ParmVarDecl {{.*}} bias_interp 'unsigned int' -// CHECK-NEXT: HLSLIntrinsicAttr {{.*}} Implicit "op" "" 423 -// CHECK-NEXT: AvailabilityAttr {{.*}} Implicit 6.10 0 0 "" - -[shader("compute")] -[numthreads(1,1,1)] -void main() { - __builtin_LinAlgMatrix [[__LinAlgMatrix_Attributes(1, 5, 4, 2, 2)]] mat; - __builtin_LinAlg_FillMatrix(mat, 15); - - float4 input = {1,2,3,4}; - float4 bias = {5,6,7,8}; - float4 result; - __builtin_LinAlg_MatrixVectorMultiplyAdd(result, mat, input, 1, bias, 2); -}