[PATCH] D85546: [SVE] Add ISD nodes for predicated integer extend inreg operations
Cameron McInally via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 21 16:36:36 PDT 2020
cameron.mcinally added a comment.
Eh, thinking some more, it's still a little weird:
class SVE_InReg_Extend<ValueType vt, SDPatternOperator op, ValueType pt,
ValueType inreg_vt, Instruction inst>
: Pat<(vt (op pt:$Pg, vt:$Src, inreg_vt, vt:$PassThru)),
(inst $PassThru, $Pg, $Src)>;
ISD::SIGN_EXTEND_INREG has the same type for the input and output reg, and an additional VT operand to encode the input type.
AArch64ISD::ZERO_EXTEND_INREG_MERGE_PASSTHRU encodes the input type in the register, and tosses the VT operand.
Maybe it would be better to lower based on the VT operand? That way we don't need to get into the half vector type business (e.g. nxv8i8).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85546/new/
https://reviews.llvm.org/D85546
More information about the llvm-commits
mailing list