[llvm] [llvm] Adding scalarization of `llvm.vector.insert` (PR #71614)

via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 9 00:00:56 PST 2023


================
@@ -5891,8 +5910,11 @@ SDValue DAGTypeLegalizer::WidenVecRes_SETCC(SDNode *N) {
     InOp1 = GetWidenedVector(InOp1);
     InOp2 = GetWidenedVector(InOp2);
   } else {
-    InOp1 = DAG.WidenVector(InOp1, SDLoc(N));
-    InOp2 = DAG.WidenVector(InOp2, SDLoc(N));
+    do {
----------------
qcolombet wrote:

> I think the correct way to handle this is by inserting an explicit conversion instruction from the widened v2f16 to match v4f16. i.e. create a new INSERT_SUBVECTOR v4f16:undef, (v2f16 GetWidenedVector), 0

Hmm, technically this is what this loop does, no?

https://github.com/llvm/llvm-project/pull/71614


More information about the llvm-commits mailing list