[llvm] [WebAssembly] vf32 to vi8, vi16 lowering (PR #164644)
Derek Schuff via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 4 13:39:08 PST 2025
================
@@ -3597,6 +3598,64 @@ static SDValue performMulCombine(SDNode *N,
}
}
+SDValue DoubleVectorWidth(SDValue In, unsigned RequiredNumElems,
+ SelectionDAG &DAG) {
+ SDLoc DL(In);
+ LLVMContext &Ctx = *DAG.getContext();
+ EVT InVT = In.getValueType();
+ unsigned NumElems = InVT.getVectorNumElements() * 2;
+ EVT OutVT = EVT::getVectorVT(Ctx, InVT.getVectorElementType(), NumElems);
+ SDValue Concat =
+ DAG.getNode(ISD::CONCAT_VECTORS, DL, OutVT, In, DAG.getUNDEF(InVT));
----------------
dschuff wrote:
I guess the point here is just to get a wider vector with some unused values so we can use the i128 vector instructions. Does the "deprecation" of Undef values apply here as it does to its use in LLVM IR?
https://github.com/llvm/llvm-project/pull/164644
More information about the llvm-commits
mailing list