-
Notifications
You must be signed in to change notification settings - Fork 827
Open
Description
Create __builtin_LinAlg_MatrixVectorMultiplyAdd(MatrixRef, vector, interp, bias, bias interp) and lower it to dx.op.matVecMulAdd 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
TranslateLinAlgMatrixVectorMultiplyAdd - Update the mapping table for
IOP___builtin_LinAlg_MatrixVectorMultiplyAddfromEmptyLowertoTranslateLinAlgMatrixVectorMultiplyAdd
- Create a new lowering function
- Write frontend tests in
tools/clang/test/SemaHLSL/hlsl/linalg/builtins/matrixvecmuladd - 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/matrixvecmuladd
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.
Metadata
Metadata
Assignees
Labels
No labels