Create __builtin_LinAlg_MatrixLoadFromMemory(MatrixRef, groupshared, int Offset, int Stride, int Layout) and lower it to dx.op.matrixLoadFromMemory as specified in https://github.com/microsoft/hlsl-specs/blob/main/proposals/0035-linalg-matrix.md
Changes required:
- If necessary, update the intrinsic definition in
utils/hct/gen_intrin_main.txt
- In
lib/HLSL/HLOperationLower.cpp
- Create a new lowering function
TranslateLinAlgMatrixLoadFromMemory
- Update the mapping table for
IOP___builtin_LinAlg_MatrixLoadFromMemory from EmptyLower to TranslateLinAlgMatrixLoadFromMemory
- Write frontend tests in
tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixloadfrommemory
- Update frontend tests in
tools/clang/test/SemaHLSL/hlsl/linalg/builtins
- If necessary, update the opcode definition in
utils/hct/hctdb.py (be sure to check allowed stages)
- Update codegen tests in
tools/clang/test/CodeGenDXIL/hlsl/linalg/builtins
- For complex ops, write codegen tests in
tools/clang/test/CodeGenDXIL/hlsl/linalg/builtins/matrixloadfrommemory
Note: The spec is not final therefore this issue may fall out of date. The spec is the source of truth and should be referenced during implementation.
Create
__builtin_LinAlg_MatrixLoadFromMemory(MatrixRef, groupshared, int Offset, int Stride, int Layout)and lower it todx.op.matrixLoadFromMemoryas specified in https://github.com/microsoft/hlsl-specs/blob/main/proposals/0035-linalg-matrix.mdChanges required:
utils/hct/gen_intrin_main.txtlib/HLSL/HLOperationLower.cppTranslateLinAlgMatrixLoadFromMemoryIOP___builtin_LinAlg_MatrixLoadFromMemoryfromEmptyLowertoTranslateLinAlgMatrixLoadFromMemorytools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixloadfrommemorytools/clang/test/SemaHLSL/hlsl/linalg/builtinsutils/hct/hctdb.py(be sure to check allowed stages)tools/clang/test/CodeGenDXIL/hlsl/linalg/builtinstools/clang/test/CodeGenDXIL/hlsl/linalg/builtins/matrixloadfrommemoryNote: The spec is not final therefore this issue may fall out of date. The spec is the source of truth and should be referenced during implementation.