Skip to content

Commit 6e0f2de

Browse files
authored
[SM6.10][specs/769] Remove CreateMatrix from HLOps (microsoft#8161)
microsoft/hlsl-specs#769 removes CreateMatrix, this change reflects that in the high level ops
1 parent feae699 commit 6e0f2de

8 files changed

Lines changed: 46 additions & 52 deletions

File tree

include/dxc/HlslIntrinsicOp.h

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ enum class IntrinsicOp {
1616
IOP_ClusterID = 397,
1717
IOP_CreateResourceFromHeap = 8,
1818
IOP_D3DCOLORtoUBYTE4 = 9,
19-
IOP_DebugBreak = 425,
19+
IOP_DebugBreak = 424,
2020
IOP_DeviceMemoryBarrier = 10,
2121
IOP_DeviceMemoryBarrierWithGroupSync = 11,
2222
IOP_DispatchMesh = 12,
@@ -113,25 +113,24 @@ enum class IntrinsicOp {
113113
IOP_WorldToObject3x4 = 100,
114114
IOP_WorldToObject4x3 = 101,
115115
IOP___builtin_LinAlg_CopyConvertMatrix = 405,
116-
IOP___builtin_LinAlg_CreateMatrix = 406,
117-
IOP___builtin_LinAlg_FillMatrix = 407,
118-
IOP___builtin_LinAlg_MatrixAccumulate = 416,
119-
IOP___builtin_LinAlg_MatrixAccumulateToDescriptor = 420,
120-
IOP___builtin_LinAlg_MatrixAccumulateToMemory = 421,
121-
IOP___builtin_LinAlg_MatrixGetCoordinate = 408,
122-
IOP___builtin_LinAlg_MatrixGetElement = 409,
123-
IOP___builtin_LinAlg_MatrixLength = 410,
124-
IOP___builtin_LinAlg_MatrixLoadFromDescriptor = 411,
125-
IOP___builtin_LinAlg_MatrixLoadFromMemory = 412,
126-
IOP___builtin_LinAlg_MatrixMatrixMultiply = 417,
127-
IOP___builtin_LinAlg_MatrixMatrixMultiplyAccumulate = 418,
128-
IOP___builtin_LinAlg_MatrixOuterProduct = 422,
129-
IOP___builtin_LinAlg_MatrixQueryAccumulatorLayout = 419,
130-
IOP___builtin_LinAlg_MatrixSetElement = 413,
131-
IOP___builtin_LinAlg_MatrixStoreToDescriptor = 414,
132-
IOP___builtin_LinAlg_MatrixStoreToMemory = 415,
133-
IOP___builtin_LinAlg_MatrixVectorMultiply = 423,
134-
IOP___builtin_LinAlg_MatrixVectorMultiplyAdd = 424,
116+
IOP___builtin_LinAlg_FillMatrix = 406,
117+
IOP___builtin_LinAlg_MatrixAccumulate = 415,
118+
IOP___builtin_LinAlg_MatrixAccumulateToDescriptor = 419,
119+
IOP___builtin_LinAlg_MatrixAccumulateToMemory = 420,
120+
IOP___builtin_LinAlg_MatrixGetCoordinate = 407,
121+
IOP___builtin_LinAlg_MatrixGetElement = 408,
122+
IOP___builtin_LinAlg_MatrixLength = 409,
123+
IOP___builtin_LinAlg_MatrixLoadFromDescriptor = 410,
124+
IOP___builtin_LinAlg_MatrixLoadFromMemory = 411,
125+
IOP___builtin_LinAlg_MatrixMatrixMultiply = 416,
126+
IOP___builtin_LinAlg_MatrixMatrixMultiplyAccumulate = 417,
127+
IOP___builtin_LinAlg_MatrixOuterProduct = 421,
128+
IOP___builtin_LinAlg_MatrixQueryAccumulatorLayout = 418,
129+
IOP___builtin_LinAlg_MatrixSetElement = 412,
130+
IOP___builtin_LinAlg_MatrixStoreToDescriptor = 413,
131+
IOP___builtin_LinAlg_MatrixStoreToMemory = 414,
132+
IOP___builtin_LinAlg_MatrixVectorMultiply = 422,
133+
IOP___builtin_LinAlg_MatrixVectorMultiplyAdd = 423,
135134
IOP___builtin_MatVecMul = 390,
136135
IOP___builtin_MatVecMulAdd = 391,
137136
IOP___builtin_OuterProductAccumulate = 392,
@@ -400,7 +399,7 @@ enum class IntrinsicOp {
400399
MOP_DxHitObject_SetShaderTableIndex = 388,
401400
MOP_DxHitObject_TraceRay = 389,
402401
MOP_DxHitObject_TriangleObjectPositions = 404,
403-
IOP_DxIsDebuggerPresent = 426,
402+
IOP_DxIsDebuggerPresent = 425,
404403
IOP_DxMaybeReorderThread = 359,
405404
MOP_Count = 328,
406405
MOP_FinishedCrossGroupSharing = 329,
@@ -433,7 +432,7 @@ enum class IntrinsicOp {
433432
IOP_usign = 355,
434433
MOP_InterlockedUMax = 356,
435434
MOP_InterlockedUMin = 357,
436-
Num_Intrinsics = 427,
435+
Num_Intrinsics = 426,
437436
};
438437
inline bool HasUnsignedIntrinsicOpcode(IntrinsicOp opcode) {
439438
switch (opcode) {

lib/HLSL/HLOperationLower.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7659,8 +7659,6 @@ constexpr IntrinsicLower gLowerTable[] = {
76597659

76607660
{IntrinsicOp::IOP___builtin_LinAlg_CopyConvertMatrix, EmptyLower,
76617661
DXIL::OpCode::CopyConvertMatrix},
7662-
{IntrinsicOp::IOP___builtin_LinAlg_CreateMatrix, EmptyLower,
7663-
DXIL::OpCode::CreateMatrix},
76647662
{IntrinsicOp::IOP___builtin_LinAlg_FillMatrix, EmptyLower,
76657663
DXIL::OpCode::FillMatrix},
76667664
{IntrinsicOp::IOP___builtin_LinAlg_MatrixGetCoordinate, EmptyLower,

tools/clang/test/DXC/Passes/DxilGen/debugbreak.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ entry:
1818
br i1 %cmp, label %if.then, label %if.end
1919

2020
if.then:
21-
call void @"dx.hl.op..void (i32)"(i32 425)
21+
call void @"dx.hl.op..void (i32)"(i32 424)
2222
br label %if.end
2323

2424
if.end:

tools/clang/test/DXC/Passes/DxilGen/isdebuggerpresent.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ target triple = "dxil-ms-dx"
1919
; Function Attrs: nounwind
2020
define void @main(<3 x i32> %threadId) #0 {
2121
entry:
22-
%0 = call i1 @"dx.hl.op.ro.i1 (i32)"(i32 426)
22+
%0 = call i1 @"dx.hl.op.ro.i1 (i32)"(i32 425)
2323
br i1 %0, label %if.then, label %if.else
2424

2525
if.then:

tools/clang/test/HLSLFileCheckLit/hlsl/intrinsics/basic/debugbreak.hlsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
// RUN: %dxc -T cs_6_10 -ast-dump %s | FileCheck %s --check-prefix=AST
66

77
// CHECK: call void @dx.op.debugBreak(i32 -2147483615) ; DebugBreak()
8-
// FCGL: call void @"dx.hl.op..void (i32)"(i32 425)
8+
// FCGL: call void @"dx.hl.op..void (i32)"(i32 424)
99

1010
// AST: CallExpr {{.*}} 'void'
1111
// AST-NEXT: `-ImplicitCastExpr {{.*}} 'void (*)()' <FunctionToPointerDecay>

tools/clang/test/HLSLFileCheckLit/hlsl/intrinsics/basic/isdebuggerpresent.hlsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
// CHECK: call i1 @dx.op.isDebuggerPresent(i32 -2147483614) ; IsDebuggerPresent()
88

9-
// FCGL: call i1 @"dx.hl.op.ro.i1 (i32)"(i32 426)
9+
// FCGL: call i1 @"dx.hl.op.ro.i1 (i32)"(i32 425)
1010

1111
// AST: CallExpr {{.*}} 'bool'
1212
// AST-NEXT: `-ImplicitCastExpr {{.*}} 'bool (*)()' <FunctionToPointerDecay>

utils/hct/gen_intrin_main.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,10 +397,8 @@ void [[min_sm=6.10]] __builtin_VectorAccumulate(in LinAlg<c> InputVector, in RWB
397397

398398
// LinAlg intrinsics
399399

400-
// TODO: Update return type for CreateMatrix to MatrixRef
401400
// TODO: Replace all int MatrixRef with MatrixRef type
402401
// TODO: Replace all int GroupSharedMem with groupshared memory
403-
void [[min_sm=6.10]] __builtin_LinAlg_CreateMatrix();
404402
void [[min_sm=6.10]] __builtin_LinAlg_FillMatrix(int MatrixRef, numeric value);
405403
void [[min_sm=6.10]] __builtin_LinAlg_CopyConvertMatrix(int MatrixRefDest, int MatrixRefSrc, bool transpose);
406404
void [[min_sm=6.10]] __builtin_LinAlg_MatrixLoadFromDescriptor(int MatrixRef, resource buf, int32_only offset, int32_only stride, int32_only layout);

utils/hct/hlsl_intrinsic_opcodes.json

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"IntrinsicOpCodes": {
3-
"Num_Intrinsics": 427,
3+
"Num_Intrinsics": 426,
44
"IOP_AcceptHitAndEndSearch": 0,
55
"IOP_AddUint64": 1,
66
"IOP_AllMemoryBarrier": 2,
@@ -407,26 +407,25 @@
407407
"MOP_CommittedTriangleObjectPositions": 403,
408408
"MOP_DxHitObject_TriangleObjectPositions": 404,
409409
"IOP___builtin_LinAlg_CopyConvertMatrix": 405,
410-
"IOP___builtin_LinAlg_CreateMatrix": 406,
411-
"IOP___builtin_LinAlg_FillMatrix": 407,
412-
"IOP___builtin_LinAlg_MatrixGetCoordinate": 408,
413-
"IOP___builtin_LinAlg_MatrixGetElement": 409,
414-
"IOP___builtin_LinAlg_MatrixLength": 410,
415-
"IOP___builtin_LinAlg_MatrixLoadFromDescriptor": 411,
416-
"IOP___builtin_LinAlg_MatrixLoadFromMemory": 412,
417-
"IOP___builtin_LinAlg_MatrixSetElement": 413,
418-
"IOP___builtin_LinAlg_MatrixStoreToDescriptor": 414,
419-
"IOP___builtin_LinAlg_MatrixStoreToMemory": 415,
420-
"IOP___builtin_LinAlg_MatrixAccumulate": 416,
421-
"IOP___builtin_LinAlg_MatrixMatrixMultiply": 417,
422-
"IOP___builtin_LinAlg_MatrixMatrixMultiplyAccumulate": 418,
423-
"IOP___builtin_LinAlg_MatrixQueryAccumulatorLayout": 419,
424-
"IOP___builtin_LinAlg_MatrixAccumulateToDescriptor": 420,
425-
"IOP___builtin_LinAlg_MatrixAccumulateToMemory": 421,
426-
"IOP___builtin_LinAlg_MatrixOuterProduct": 422,
427-
"IOP___builtin_LinAlg_MatrixVectorMultiply": 423,
428-
"IOP___builtin_LinAlg_MatrixVectorMultiplyAdd": 424,
429-
"IOP_DebugBreak": 425,
430-
"IOP_DxIsDebuggerPresent": 426
410+
"IOP___builtin_LinAlg_FillMatrix": 406,
411+
"IOP___builtin_LinAlg_MatrixGetCoordinate": 407,
412+
"IOP___builtin_LinAlg_MatrixGetElement": 408,
413+
"IOP___builtin_LinAlg_MatrixLength": 409,
414+
"IOP___builtin_LinAlg_MatrixLoadFromDescriptor": 410,
415+
"IOP___builtin_LinAlg_MatrixLoadFromMemory": 411,
416+
"IOP___builtin_LinAlg_MatrixSetElement": 412,
417+
"IOP___builtin_LinAlg_MatrixStoreToDescriptor": 413,
418+
"IOP___builtin_LinAlg_MatrixStoreToMemory": 414,
419+
"IOP___builtin_LinAlg_MatrixAccumulate": 415,
420+
"IOP___builtin_LinAlg_MatrixMatrixMultiply": 416,
421+
"IOP___builtin_LinAlg_MatrixMatrixMultiplyAccumulate": 417,
422+
"IOP___builtin_LinAlg_MatrixQueryAccumulatorLayout": 418,
423+
"IOP___builtin_LinAlg_MatrixAccumulateToDescriptor": 419,
424+
"IOP___builtin_LinAlg_MatrixAccumulateToMemory": 420,
425+
"IOP___builtin_LinAlg_MatrixOuterProduct": 421,
426+
"IOP___builtin_LinAlg_MatrixVectorMultiply": 422,
427+
"IOP___builtin_LinAlg_MatrixVectorMultiplyAdd": 423,
428+
"IOP_DebugBreak": 424,
429+
"IOP_DxIsDebuggerPresent": 425
431430
}
432431
}

0 commit comments

Comments
 (0)