Skip to content

Commit bf5c62f

Browse files
Use linalg headers in the hlsl validation tests
1 parent 2d3f262 commit bf5c62f

6 files changed

Lines changed: 191 additions & 288 deletions

File tree

tools/clang/lib/Sema/SemaHLSL.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11669,8 +11669,8 @@ static const unsigned kMatVecMulOutputIsUnsignedIdx = 1;
1166911669
static const unsigned kMatVecMulInputVectorIdx = 2;
1167011670
static const unsigned kMatVecMulIsInputUnsignedIdx = 3;
1167111671
static const unsigned kMatVecMulInputInterpretationIdx = 4;
11672-
//static const unsigned kMatVecMulMatrixBufferIdx = 5;
11673-
//static const unsigned kMatVecMulMatrixOffsetIdx = 6;
11672+
// static const unsigned kMatVecMulMatrixBufferIdx = 5;
11673+
// static const unsigned kMatVecMulMatrixOffsetIdx = 6;
1167411674
static const unsigned kMatVecMulMatrixInterpretationIdx = 7;
1167511675
static const unsigned kMatVecMulMatrixMIdx = 8;
1167611676
static const unsigned kMatVecMulMatrixKIdx = 9;
@@ -12126,8 +12126,8 @@ static void CheckMulAddCall(Sema &S, FunctionDecl *FD, CallExpr *CE,
1212612126
// OuterProductAccumulate builtin function parameters
1212712127
static const unsigned kOuterProdAccInputVector1Idx = 0;
1212812128
static const unsigned kOuterProdAccInputVector2Idx = 1;
12129-
//static const unsigned kOuterProdAccMatrixBufferIdx = 2;
12130-
//static const unsigned kOuterProdAccMatrixOffsetIdx = 3;
12129+
// static const unsigned kOuterProdAccMatrixBufferIdx = 2;
12130+
// static const unsigned kOuterProdAccMatrixOffsetIdx = 3;
1213112131
static const unsigned kOuterProdAccMatrixInterpretationIdx = 4;
1213212132
static const unsigned kOuterProdAccMatrixLayoutIdx = 5;
1213312133
static const unsigned kOuterProdAccMatrixStrideIdx = 6;

tools/clang/test/SemaHLSL/hlsl/linalg/builtins/mul_add_invalid.hlsl

Lines changed: 24 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,6 @@
1-
// RUN: %dxc -T lib_6_9 -enable-16bit-types %s -verify
2-
3-
enum CompType {
4-
Invalid = 0,
5-
I1 = 1,
6-
I16 = 2,
7-
U16 = 3,
8-
I32 = 4,
9-
U32 = 5,
10-
I64 = 6,
11-
U64 = 7,
12-
F16 = 8,
13-
F32 = 9,
14-
F64 = 10,
15-
SNormF16 = 11,
16-
UNormF16 = 12,
17-
SNormF32 = 13,
18-
UNormF32 = 14,
19-
SNormF64 = 15,
20-
UNormF64 = 16,
21-
PackedS8x32 = 17,
22-
PackedU8x32 = 18,
23-
24-
// BEGIN NEW FOR SM 6.9
25-
U8 = 19,
26-
I8 = 20,
27-
F8_E4M3 = 21,
28-
F8_E5M2 = 22,
29-
};
1+
// RUN: %dxc -I %hlsl_headers -T lib_6_9 -enable-16bit-types %s -verify
2+
3+
#include <dx/linalg.h>
304

315
enum MatLayout {
326
RowMajor = 0,
@@ -35,6 +9,8 @@ enum MatLayout {
359
OuterProductOptimal = 3,
3610
};
3711

12+
using namespace dx::linalg;
13+
3814
ByteAddressBuffer input_vector_buffer;
3915
ByteAddressBuffer matrix_buffer;
4016
ByteAddressBuffer bias_buffer;
@@ -48,12 +24,12 @@ void test_invalid_bias_interpretation() {
4824
vector<float, 4> input_vector =
4925
input_vector_buffer.Load<vector<float, 4> >(0);
5026
const uint is_input_unsigned = 0;
51-
const uint input_interpretation = CompType::F32; // F32
27+
const uint input_interpretation = DataType::DATA_TYPE_FLOAT32;
5228
const uint matrix_offset = 0;
53-
const uint matrix_interpretation = CompType::F32; // F32
29+
const uint matrix_interpretation = DataType::DATA_TYPE_FLOAT32;
5430
const uint matrix_dimM = 4;
5531
const uint matrix_dimK = 4;
56-
const uint matrix_layout = MatLayout::RowMajor; // RowMajor
32+
const uint matrix_layout = MatrixLayout::MATRIX_LAYOUT_ROW_MAJOR;
5733
const uint matrix_is_transposed = 0;
5834
const uint matrix_stride = 0;
5935
const uint bias_offset = 0;
@@ -76,17 +52,17 @@ void test_invalid_bias_interpretation_value() {
7652
vector<float, 4> input_vector =
7753
input_vector_buffer.Load<vector<float, 4> >(0);
7854
const uint is_input_unsigned = 0;
79-
const uint input_interpretation = CompType::F32; // F32
55+
const uint input_interpretation = DataType::DATA_TYPE_FLOAT32;
8056
const uint matrix_offset = 0;
81-
const uint matrix_interpretation = CompType::F32; // F32
57+
const uint matrix_interpretation = DataType::DATA_TYPE_FLOAT32;
8258
const uint matrix_dimM = 4;
8359
const uint matrix_dimK = 4;
84-
const uint matrix_layout = MatLayout::RowMajor; // RowMajor
60+
const uint matrix_layout = MatrixLayout::MATRIX_LAYOUT_ROW_MAJOR;
8561
const uint matrix_is_transposed = 0;
8662
const uint matrix_stride = 0;
8763
const uint bias_offset = 0;
8864

89-
const uint bias_interpretation_0 = CompType::Invalid;
65+
const uint bias_interpretation_0 = 0;
9066

9167
// expected-error@+6 {{0 is an invalid Memory Interpretation value}}
9268
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -96,7 +72,7 @@ void test_invalid_bias_interpretation_value() {
9672
matrix_stride, bias_buffer, bias_offset,
9773
bias_interpretation_0);
9874

99-
const uint bias_interpretation_1 = CompType::I1;
75+
const uint bias_interpretation_1 = 1;
10076

10177
// expected-error@+6 {{1 is an invalid Memory Interpretation value}}
10278
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -106,7 +82,7 @@ void test_invalid_bias_interpretation_value() {
10682
matrix_stride, bias_buffer, bias_offset,
10783
bias_interpretation_1);
10884

109-
const uint bias_interpretation_2 = CompType::I64;
85+
const uint bias_interpretation_2 = 6;
11086

11187
// expected-error@+6 {{6 is an invalid Memory Interpretation value}}
11288
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -116,7 +92,7 @@ void test_invalid_bias_interpretation_value() {
11692
matrix_stride, bias_buffer, bias_offset,
11793
bias_interpretation_2);
11894

119-
const uint bias_interpretation_3 = CompType::U64;
95+
const uint bias_interpretation_3 = 7;
12096

12197
// expected-error@+6 {{7 is an invalid Memory Interpretation value}}
12298
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -126,7 +102,7 @@ void test_invalid_bias_interpretation_value() {
126102
matrix_stride, bias_buffer, bias_offset,
127103
bias_interpretation_3);
128104

129-
const uint bias_interpretation_4 = CompType::F64;
105+
const uint bias_interpretation_4 = 10;
130106

131107
// expected-error@+6 {{10 is an invalid Memory Interpretation value}}
132108
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -136,7 +112,7 @@ void test_invalid_bias_interpretation_value() {
136112
matrix_stride, bias_buffer, bias_offset,
137113
bias_interpretation_4);
138114

139-
const uint bias_interpretation_5 = CompType::SNormF16;
115+
const uint bias_interpretation_5 = 11;
140116

141117
// expected-error@+6 {{11 is an invalid Memory Interpretation value}}
142118
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -146,7 +122,7 @@ void test_invalid_bias_interpretation_value() {
146122
matrix_stride, bias_buffer, bias_offset,
147123
bias_interpretation_5);
148124

149-
const uint bias_interpretation_6 = CompType::UNormF16;
125+
const uint bias_interpretation_6 = 12;
150126

151127
// expected-error@+6 {{12 is an invalid Memory Interpretation value}}
152128
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -156,7 +132,7 @@ void test_invalid_bias_interpretation_value() {
156132
matrix_stride, bias_buffer, bias_offset,
157133
bias_interpretation_6);
158134

159-
const uint bias_interpretation_7 = CompType::SNormF32;
135+
const uint bias_interpretation_7 = 13;
160136

161137
// expected-error@+6 {{13 is an invalid Memory Interpretation value}}
162138
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -166,7 +142,7 @@ void test_invalid_bias_interpretation_value() {
166142
matrix_stride, bias_buffer, bias_offset,
167143
bias_interpretation_7);
168144

169-
const uint bias_interpretation_8 = CompType::UNormF32;
145+
const uint bias_interpretation_8 = 14;
170146

171147
// expected-error@+6 {{14 is an invalid Memory Interpretation value}}
172148
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -176,7 +152,7 @@ void test_invalid_bias_interpretation_value() {
176152
matrix_stride, bias_buffer, bias_offset,
177153
bias_interpretation_8);
178154

179-
const uint bias_interpretation_9 = CompType::SNormF64;
155+
const uint bias_interpretation_9 = 15;
180156

181157
// expected-error@+6 {{15 is an invalid Memory Interpretation value}}
182158
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -186,7 +162,7 @@ void test_invalid_bias_interpretation_value() {
186162
matrix_stride, bias_buffer, bias_offset,
187163
bias_interpretation_9);
188164

189-
const uint bias_interpretation_10 = CompType::UNormF64;
165+
const uint bias_interpretation_10 = 16;
190166

191167

192168
// expected-error@+6 {{16 is an invalid Memory Interpretation value}}
@@ -197,7 +173,7 @@ void test_invalid_bias_interpretation_value() {
197173
matrix_stride, bias_buffer, bias_offset,
198174
bias_interpretation_10);
199175

200-
const uint bias_interpretation_11 = CompType::PackedS8x32;
176+
const uint bias_interpretation_11 = DataType::DATA_TYPE_SINT8_T4_PACKED;
201177

202178
// expected-error@+6 {{17 is an invalid Memory Interpretation value}}
203179
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,
@@ -207,7 +183,7 @@ void test_invalid_bias_interpretation_value() {
207183
matrix_stride, bias_buffer, bias_offset,
208184
bias_interpretation_11);
209185

210-
const uint bias_interpretation_12 = CompType::PackedU8x32;
186+
const uint bias_interpretation_12 = DataType::DATA_TYPE_UINT8_T4_PACKED;
211187

212188
// expected-error@+6 {{18 is an invalid Memory Interpretation value}}
213189
__builtin_MatVecMulAdd(output_vector, is_output_unsigned, input_vector,

0 commit comments

Comments
 (0)