Create `__builtin_LinAlg_MatrixLength(MatrixRef)` and lower it to `dx.op.matrixLength` 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 `TranslateLinAlgMatrixLength` - Update the mapping table for `IOP___builtin_LinAlg_MatrixLength` from `EmptyLower` to `TranslateLinAlgMatrixLength` - Write frontend tests in `tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixlength` - 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/matrixlength` 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.
Activity
__builtininstrinsics and DXIL Ops #7838V-FEXrt commentedon Jan 5, 2026
This is implemented on the linalg-staging branch
[SM6.10] Add MatrixLength Builtin Tests (microsoft#8196)
__builtininstrinsics and DXIL Ops #7838