[llvm] [IR][RISCV] Add llvm.vector.(de)interleave3/5/7 (PR #124825)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 29 14:03:42 PST 2025
================
@@ -1668,6 +1668,15 @@ void DAGTypeLegalizer::SplitVecRes_INSERT_SUBVECTOR(SDNode *N, SDValue &Lo,
return;
}
+ if (getTypeAction(SubVecVT) == TargetLowering::TypeWidenVector &&
+ Vec.isUndef() && SubVecVT.getVectorElementType() == MVT::i1) {
+ SDValue WideSubVec = GetWidenedVector(SubVec);
+ if (WideSubVec.getValueType() == VecVT) {
+ std::tie(Lo, Hi) = DAG.SplitVector(WideSubVec, SDLoc(WideSubVec));
----------------
topperc wrote:
There is a chance that's its been split. But since we don't depend on it yet, the topological sort the controls the visit order wouldn't know to guarantee it.
https://github.com/llvm/llvm-project/pull/124825
More information about the llvm-commits
mailing list