From 707399153d757da567c3f9bed97bc70722da781f Mon Sep 17 00:00:00 2001 From: Helena Kotas Date: Fri, 19 Jan 2024 14:16:32 -0800 Subject: [PATCH 1/4] Add end cap on 6.8 op codes and move WaveMatrix intrisics to SM 6.9 --- include/dxc/DXIL/DxilConstants.h | 2 ++ lib/DXIL/DxilOperations.cpp | 24 ++++++++++++------------ utils/hct/hctdb.py | 9 ++++++++- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/include/dxc/DXIL/DxilConstants.h b/include/dxc/DXIL/DxilConstants.h index 8712b0fd9c..59a42f622d 100644 --- a/include/dxc/DXIL/DxilConstants.h +++ b/include/dxc/DXIL/DxilConstants.h @@ -975,6 +975,7 @@ enum class OpCode : unsigned { NumOpCodes_Dxil_1_5 = 216, NumOpCodes_Dxil_1_6 = 222, NumOpCodes_Dxil_1_7 = 226, + NumOpCodes_Dxil_1_8 = 258, NumOpCodes = 258 // exclusive last value of enumeration }; @@ -1290,6 +1291,7 @@ enum class OpCodeClass : unsigned { NumOpClasses_Dxil_1_5 = 143, NumOpClasses_Dxil_1_6 = 149, NumOpClasses_Dxil_1_7 = 153, + NumOpClasses_Dxil_1_8 = 183, NumOpClasses = 183 // exclusive last value of enumeration }; diff --git a/lib/DXIL/DxilOperations.cpp b/lib/DXIL/DxilOperations.cpp index 17ee6efba0..1537bec652 100644 --- a/lib/DXIL/DxilOperations.cpp +++ b/lib/DXIL/DxilOperations.cpp @@ -3160,18 +3160,6 @@ void OP::GetMinShaderModelAndMask(OpCode C, bool bWithTranslation, minor = 7; return; } - // Instructions: WaveMatrix_Annotate=226, WaveMatrix_Depth=227, - // WaveMatrix_Fill=228, WaveMatrix_LoadRawBuf=229, - // WaveMatrix_LoadGroupShared=230, WaveMatrix_StoreRawBuf=231, - // WaveMatrix_StoreGroupShared=232, WaveMatrix_Multiply=233, - // WaveMatrix_MultiplyAccumulate=234, WaveMatrix_ScalarOp=235, - // WaveMatrix_SumAccumulate=236, WaveMatrix_Add=237 - if ((226 <= op && op <= 237)) { - major = 6; - minor = 7; - mask = SFLAG(Library) | SFLAG(Compute); - return; - } // Instructions: QuadVote=222 if (op == 222) { if (bWithTranslation) { @@ -3219,6 +3207,18 @@ void OP::GetMinShaderModelAndMask(OpCode C, bool bWithTranslation, mask = SFLAG(Vertex); return; } + // Instructions: WaveMatrix_Annotate=226, WaveMatrix_Depth=227, + // WaveMatrix_Fill=228, WaveMatrix_LoadRawBuf=229, + // WaveMatrix_LoadGroupShared=230, WaveMatrix_StoreRawBuf=231, + // WaveMatrix_StoreGroupShared=232, WaveMatrix_Multiply=233, + // WaveMatrix_MultiplyAccumulate=234, WaveMatrix_ScalarOp=235, + // WaveMatrix_SumAccumulate=236, WaveMatrix_Add=237 + if ((226 <= op && op <= 237)) { + major = 6; + minor = 9; + mask = SFLAG(Library) | SFLAG(Compute); + return; + } // OPCODE-SMMASK:END } diff --git a/utils/hct/hctdb.py b/utils/hct/hctdb.py index 35b0201438..492426826d 100644 --- a/utils/hct/hctdb.py +++ b/utils/hct/hctdb.py @@ -646,7 +646,7 @@ def populate_categories_and_models(self): + "WaveMatrix_SumAccumulate,WaveMatrix_Add" ).split(","): self.name_idx[i].category = "WaveMatrix" - self.name_idx[i].shader_model = 6, 7 + self.name_idx[i].shader_model = 6, 9 self.name_idx[i].shader_stages = ( "library", "compute", @@ -5659,6 +5659,13 @@ def UFI(name, **mappings): ) next_op_idx += 1 + # End of DXIL 1.8 opcodes. + self.set_op_count_for_version(1, 8, next_op_idx) + assert next_op_idx == 258, ( + "258 is expected next operation index but encountered %d and thus opcodes are broken" + % next_op_idx + ) + # Set interesting properties. self.build_indices() for ( From 53f008c0703b79fe9bc5aefb4922ab07b266673b Mon Sep 17 00:00:00 2001 From: Helena Kotas Date: Fri, 19 Jan 2024 14:57:24 -0800 Subject: [PATCH 2/4] Update shader model in WaveMatrix tests to 6.9 and mark them unsupported --- .../WaveMatrix/WaveMatrix_Add-limited.hlsl | 12 ++++++------ .../objects/WaveMatrix/WaveMatrix_Depth.hlsl | 14 +++++++------- .../objects/WaveMatrix/WaveMatrix_Fill-acc.hlsl | 12 ++++++------ .../objects/WaveMatrix/WaveMatrix_Fill-in.hlsl | 14 +++++++------- .../WaveMatrix/WaveMatrix_LoadStore-acc.hlsl | 12 ++++++------ .../WaveMatrix/WaveMatrix_LoadStore-in.hlsl | 14 +++++++------- .../WaveMatrix/WaveMatrix_Multiply-Add-acc.hlsl | 16 ++++++++-------- .../WaveMatrix/WaveMatrix_ScalarOps-acc.hlsl | 12 ++++++------ .../WaveMatrix/WaveMatrix_SumAccumulate-acc.hlsl | 16 ++++++++-------- .../hlsl/objects/WaveMatrix/lit.local.cfg | 2 ++ 10 files changed, 63 insertions(+), 61 deletions(-) create mode 100644 tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Add-limited.hlsl b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Add-limited.hlsl index c3dfa336a3..09f4f28bea 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Add-limited.hlsl +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Add-limited.hlsl @@ -1,9 +1,9 @@ -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DADD_TY=WMLC %s | FileCheck %s -DADD_TY=2 -DCOMP=9 -DDIMM=16 -DDIMN=16 -check-prefix=CHKIR -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DADD_TY=WMRR %s | FileCheck %s -DADD_TY=3 -DCOMP=9 -DDIMM=16 -DDIMN=16 -check-prefix=CHKIR -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DADD_TY=WMA %s | FileCheck %s -DADD_TY=4 -DCOMP=9 -DDIMM=16 -DDIMN=16 -check-prefix=CHKIR -// RUN: %dxc -enable-16bit-types -T cs_6_8 -ast-dump -DADD_TY=WMLC %s | FileCheck %s -DADD_TY=WaveMatrixLeftColAcc -DCOMP=float -DDIMM=16 -DDIMN=16 -check-prefix=CHKAST -// RUN: %dxc -enable-16bit-types -T cs_6_8 -ast-dump -DADD_TY=WMRR %s | FileCheck %s -DADD_TY=WaveMatrixRightRowAcc -DCOMP=float -DDIMM=16 -DDIMN=16 -check-prefix=CHKAST -// RUN: %dxc -enable-16bit-types -T cs_6_8 -ast-dump -DADD_TY=WMA %s | FileCheck %s -DADD_TY=WaveMatrixAccumulator -DCOMP=float -DDIMM=16 -DDIMN=16 -check-prefix=CHKAST +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DADD_TY=WMLC %s | FileCheck %s -DADD_TY=2 -DCOMP=9 -DDIMM=16 -DDIMN=16 -check-prefix=CHKIR +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DADD_TY=WMRR %s | FileCheck %s -DADD_TY=3 -DCOMP=9 -DDIMM=16 -DDIMN=16 -check-prefix=CHKIR +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DADD_TY=WMA %s | FileCheck %s -DADD_TY=4 -DCOMP=9 -DDIMM=16 -DDIMN=16 -check-prefix=CHKIR +// RUN: %dxc -enable-16bit-types -T cs_6_9 -ast-dump -DADD_TY=WMLC %s | FileCheck %s -DADD_TY=WaveMatrixLeftColAcc -DCOMP=float -DDIMM=16 -DDIMN=16 -check-prefix=CHKAST +// RUN: %dxc -enable-16bit-types -T cs_6_9 -ast-dump -DADD_TY=WMRR %s | FileCheck %s -DADD_TY=WaveMatrixRightRowAcc -DCOMP=float -DDIMM=16 -DDIMN=16 -check-prefix=CHKAST +// RUN: %dxc -enable-16bit-types -T cs_6_9 -ast-dump -DADD_TY=WMA %s | FileCheck %s -DADD_TY=WaveMatrixAccumulator -DCOMP=float -DDIMM=16 -DDIMN=16 -check-prefix=CHKAST // CHECK: ; Note: shader requires additional functionality: // CHECK: ; Wave level operations diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Depth.hlsl b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Depth.hlsl index 50c6ab5e5e..6411b2a98e 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Depth.hlsl +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Depth.hlsl @@ -1,10 +1,10 @@ -// RUN: %dxc -E main -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -// RUN: %dxc -E main -T cs_6_8 -DCOMP=half -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -// RUN: %dxc -E main -T cs_6_8 -DCOMP=int8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=17 -DDIMM=16 -DDIMN=16 -// RUN: %dxc -E main -T cs_6_8 -DCOMP=uint8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=18 -DDIMM=16 -DDIMN=16 -// RUN: %dxc -E main -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -// RUN: %dxc -E main -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -// RUN: %dxc -E main -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 +// RUN: %dxc -E main -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 +// RUN: %dxc -E main -T cs_6_9 -DCOMP=half -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 +// RUN: %dxc -E main -T cs_6_9 -DCOMP=int8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=17 -DDIMM=16 -DDIMN=16 +// RUN: %dxc -E main -T cs_6_9 -DCOMP=uint8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=18 -DDIMM=16 -DDIMN=16 +// RUN: %dxc -E main -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 +// RUN: %dxc -E main -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 +// RUN: %dxc -E main -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 // CHECK: ; Note: shader requires additional functionality: // CHECK: ; Wave level operations diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Fill-acc.hlsl b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Fill-acc.hlsl index f7f970d56e..08680257c8 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Fill-acc.hlsl +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Fill-acc.hlsl @@ -1,9 +1,9 @@ -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=int -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=int -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 // CHECK: ; Note: shader requires additional functionality: // CHECK: ; Wave level operations diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Fill-in.hlsl b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Fill-in.hlsl index baf0294d1c..1fb7f00733 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Fill-in.hlsl +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Fill-in.hlsl @@ -1,10 +1,10 @@ -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=int8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=17 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=uint8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=18 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=int8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=17 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=uint8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=18 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 // CHECK: ; Note: shader requires additional functionality: // CHECK: ; Wave level operations diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_LoadStore-acc.hlsl b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_LoadStore-acc.hlsl index f40d3e6ad7..bf1fe71f23 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_LoadStore-acc.hlsl +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_LoadStore-acc.hlsl @@ -1,9 +1,9 @@ -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=int -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=int -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 // CHECK: ; Note: shader requires additional functionality: // CHECK: ; Wave level operations diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_LoadStore-in.hlsl b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_LoadStore-in.hlsl index c83402646c..6d1968b5e0 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_LoadStore-in.hlsl +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_LoadStore-in.hlsl @@ -1,10 +1,10 @@ -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=int8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=17 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=uint8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=18 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=int8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=17 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=uint8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=18 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 // CHECK: ; Note: shader requires additional functionality: // CHECK: ; Wave level operations diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Multiply-Add-acc.hlsl b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Multiply-Add-acc.hlsl index 1bcf2af3ae..3fbdccac4d 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Multiply-Add-acc.hlsl +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_Multiply-Add-acc.hlsl @@ -1,11 +1,11 @@ -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DCOMP_IN=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DCOMP_IN=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float16_t -DCOMP_IN=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DCOMP_IN=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=int -DCOMP_IN=int8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DCOMP_IN=17 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=int -DCOMP_IN=uint8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DCOMP_IN=18 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DCOMP_IN=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DCOMP_IN=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DCOMP_IN=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DCOMP_IN=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DCOMP_IN=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float16_t -DCOMP_IN=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DCOMP_IN=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=int -DCOMP_IN=int8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DCOMP_IN=17 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=int -DCOMP_IN=uint8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DCOMP_IN=18 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DCOMP_IN=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DCOMP_IN=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DCOMP_IN=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 // CHECK: ; Note: shader requires additional functionality: // CHECK: ; Wave level operations diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_ScalarOps-acc.hlsl b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_ScalarOps-acc.hlsl index b2fe2b12d8..253df66027 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_ScalarOps-acc.hlsl +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_ScalarOps-acc.hlsl @@ -1,9 +1,9 @@ -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=int -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=int -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 // CHECK: ; Note: shader requires additional functionality: // CHECK: ; Wave level operations diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_SumAccumulate-acc.hlsl b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_SumAccumulate-acc.hlsl index 1c3f2f94a8..c606e04f78 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_SumAccumulate-acc.hlsl +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/WaveMatrix_SumAccumulate-acc.hlsl @@ -1,11 +1,11 @@ -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DCOMP_IN=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DCOMP_IN=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float16_t -DCOMP_IN=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DCOMP_IN=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=int -DCOMP_IN=int8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DCOMP_IN=17 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=int -DCOMP_IN=uint8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DCOMP_IN=18 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DCOMP_IN=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DCOMP_IN=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 -// RUN: %dxc -enable-16bit-types -T cs_6_8 -DCOMP=float -DCOMP_IN=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DCOMP_IN=float -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DCOMP_IN=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float16_t -DCOMP_IN=float16_t -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=8 -DCOMP_IN=8 -DDIMM=16 -DDIMN=16 -DOLOAD=f16 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=int -DCOMP_IN=int8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DCOMP_IN=17 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=int -DCOMP_IN=uint8_t4_packed -DDIMM=16 -DDIMN=16 %s | FileCheck %s -DCOMP=4 -DCOMP_IN=18 -DDIMM=16 -DDIMN=16 -DOLOAD=i32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DCOMP_IN=float -DDIMM=64 -DDIMN=16 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=64 -DDIMN=16 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DCOMP_IN=float -DDIMM=16 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=16 -DDIMN=64 -DOLOAD=f32 +// RUN: %dxc -enable-16bit-types -T cs_6_9 -DCOMP=float -DCOMP_IN=float -DDIMM=64 -DDIMN=64 %s | FileCheck %s -DCOMP=9 -DCOMP_IN=9 -DDIMM=64 -DDIMN=64 -DOLOAD=f32 // CHECK: ; Note: shader requires additional functionality: // CHECK: ; Wave level operations diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg new file mode 100644 index 0000000000..2ece83f0dc --- /dev/null +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg @@ -0,0 +1,2 @@ +# HLSL Change - Disable WaveMatrix tests, shader model 6.9 is not enabled yet +config.unsupported = False From e253408b743d0a427df5d854a1cade6fdfea5a29 Mon Sep 17 00:00:00 2001 From: Helena Kotas Date: Fri, 19 Jan 2024 15:38:39 -0800 Subject: [PATCH 3/4] Unsupported need to be set to True --- .../test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg index 2ece83f0dc..4458d9372a 100644 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg +++ b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg @@ -1,2 +1,2 @@ # HLSL Change - Disable WaveMatrix tests, shader model 6.9 is not enabled yet -config.unsupported = False +config.unsupported = True From 406bfa1511d788660a00c4f639f7f3c5b51492f4 Mon Sep 17 00:00:00 2001 From: Helena Kotas Date: Fri, 19 Jan 2024 15:58:55 -0800 Subject: [PATCH 4/4] Remove lit.local.config - this directory is not scanned by lit --- .../test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg diff --git a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg b/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg deleted file mode 100644 index 4458d9372a..0000000000 --- a/tools/clang/test/HLSLFileCheck/hlsl/objects/WaveMatrix/lit.local.cfg +++ /dev/null @@ -1,2 +0,0 @@ -# HLSL Change - Disable WaveMatrix tests, shader model 6.9 is not enabled yet -config.unsupported = True