Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions include/dxc/DXIL/DxilConstants.h
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,8 @@ enum class ComponentType : uint32_t {
PackedU8x32 = 18,

// BEGIN NEW FOR SM 6.9
U8 = 19,
I8 = 20,
I8 = 19,
U8 = 20,
F8_E4M3 = 21,
F8_E5M2 = 22,
// END
Expand Down
4 changes: 2 additions & 2 deletions tools/clang/lib/Headers/hlsl/dx/coopvec.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ enum DataType {
DATA_TYPE_FLOAT32 = 9, // ComponentType::F32
DATA_TYPE_SINT8_T4_PACKED = 17, // ComponentType::PackedS8x32
DATA_TYPE_UINT8_T4_PACKED = 18, // ComponentType::PackedU8x32
DATA_TYPE_UINT8 = 19, // ComponentType::U8
DATA_TYPE_SINT8 = 20, // ComponentType::I8
DATA_TYPE_SINT8 = 19, // ComponentType::I8
DATA_TYPE_UINT8 = 20, // ComponentType::U8
DATA_TYPE_FLOAT8_E4M3 = 21, // ComponentType::F8_E4M3
// (1 sign, 4 exp, 3 mantissa bits)
DATA_TYPE_FLOAT8_E5M2 = 22, // ComponentType::F8_E5M2
Expand Down
12 changes: 6 additions & 6 deletions tools/clang/test/CodeGenDXIL/hlsl/coopvec/mat-vec-mul.hlsl
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export vector<float, 8> Test2(vector<uint, 6> Input) {
Buf, 0, 0};

// note the stride argument is dropped.
// CHECK: %{{.+}} = call <8 x float> @dx.op.matVecMul.v8f32.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 18, %dx.types.Handle %{{.+}}, i32 0, i32 19, i32 8, i32 24, i32 2, i1 false, i32 0, i1 false)
// CHECK: %{{.+}} = call <8 x float> @dx.op.matVecMul.v8f32.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 18, %dx.types.Handle %{{.+}}, i32 0, i32 20, i32 8, i32 24, i32 2, i1 false, i32 0, i1 false)
return Mul<float>(Matrix,
MakeInterpretedVector<DATA_TYPE_UINT8_T4_PACKED>(Input));
}
Expand All @@ -35,7 +35,7 @@ export vector<float, 8> Test3(vector<uint, 6> Input) {
MatrixRef<DATA_TYPE_UINT8, 8, 6 * 4, MATRIX_LAYOUT_ROW_MAJOR> Matrix = {
Buf, 0, 6 * 4 * 8};

// CHECK: %{{.+}} = call <8 x float> @dx.op.matVecMul.v8f32.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 18, %dx.types.Handle %{{.+}}, i32 0, i32 19, i32 8, i32 24, i32 0, i1 false, i32 192, i1 false)
// CHECK: %{{.+}} = call <8 x float> @dx.op.matVecMul.v8f32.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 18, %dx.types.Handle %{{.+}}, i32 0, i32 20, i32 8, i32 24, i32 0, i1 false, i32 192, i1 false)
return Mul<float>(Matrix,
MakeInterpretedVector<DATA_TYPE_UINT8_T4_PACKED>(Input));
}
Expand All @@ -47,7 +47,7 @@ export vector<uint16_t, 8> Test4(vector<uint, 6> Input) {
MatrixRef<DATA_TYPE_UINT8, 8, 6 * 4, MATRIX_LAYOUT_ROW_MAJOR> Matrix = {
Buf, 0, 6 * 4 * 8};

// CHECK: %{{.+}} = call <8 x i16> @dx.op.matVecMul.v8i16.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 18, %dx.types.Handle %{{.+}}, i32 0, i32 19, i32 8, i32 24, i32 0, i1 false, i32 192, i1 true)
// CHECK: %{{.+}} = call <8 x i16> @dx.op.matVecMul.v8i16.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 18, %dx.types.Handle %{{.+}}, i32 0, i32 20, i32 8, i32 24, i32 0, i1 false, i32 192, i1 true)
return Mul<uint16_t>(Matrix,
MakeInterpretedVector<DATA_TYPE_UINT8_T4_PACKED>(Input));

Expand All @@ -60,7 +60,7 @@ export vector<uint, 8> Test5(vector<uint, 6> Input) {
MatrixRef<DATA_TYPE_UINT8, 8, 6 * 4, MATRIX_LAYOUT_ROW_MAJOR> Matrix = {
Buf, 0, 6 * 4 * 8};

// CHECK: %{{.+}} = call <8 x i32> @dx.op.matVecMul.v8i32.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 18, %dx.types.Handle %{{.+}}, i32 0, i32 19, i32 8, i32 24, i32 0, i1 false, i32 192, i1 true)
// CHECK: %{{.+}} = call <8 x i32> @dx.op.matVecMul.v8i32.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 18, %dx.types.Handle %{{.+}}, i32 0, i32 20, i32 8, i32 24, i32 0, i1 false, i32 192, i1 true)
return Mul<uint>(Matrix,
MakeInterpretedVector<DATA_TYPE_UINT8_T4_PACKED>(Input));

Expand All @@ -73,7 +73,7 @@ export vector<uint, 8> Test5(vector<uint8_t4_packed, 6> Input) {
MatrixRef<DATA_TYPE_UINT8, 8, 6 * 4, MATRIX_LAYOUT_ROW_MAJOR> Matrix = {
Buf, 0, 6 * 4 * 8};

// CHECK: %{{.+}} = call <8 x i32> @dx.op.matVecMul.v8i32.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 18, %dx.types.Handle %{{.+}}, i32 0, i32 19, i32 8, i32 24, i32 0, i1 false, i32 192, i1 true)
// CHECK: %{{.+}} = call <8 x i32> @dx.op.matVecMul.v8i32.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 18, %dx.types.Handle %{{.+}}, i32 0, i32 20, i32 8, i32 24, i32 0, i1 false, i32 192, i1 true)
return Mul<uint>(Matrix,
MakeInterpretedVector<DATA_TYPE_UINT8_T4_PACKED>(Input));

Expand All @@ -86,7 +86,7 @@ export vector<uint, 8> Test5(vector<int8_t4_packed, 6> Input) {
MatrixRef<DATA_TYPE_UINT8, 8, 6 * 4, MATRIX_LAYOUT_ROW_MAJOR> Matrix = {
Buf, 0, 6 * 4 * 8};

// CHECK: %{{.+}} = call <8 x i32> @dx.op.matVecMul.v8i32.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 17, %dx.types.Handle %{{.+}}, i32 0, i32 19, i32 8, i32 24, i32 0, i1 false, i32 192, i1 true)
// CHECK: %{{.+}} = call <8 x i32> @dx.op.matVecMul.v8i32.v6i32(i32 305, <6 x i32> %{{.+}}, i1 true, i32 17, %dx.types.Handle %{{.+}}, i32 0, i32 20, i32 8, i32 24, i32 0, i1 false, i32 192, i1 true)
return Mul<uint>(Matrix,
MakeInterpretedVector<DATA_TYPE_SINT8_T4_PACKED>(Input));

Expand Down
Loading