[PATCH] D41126: [SelectionDAG] Fixed f16-from-vector promotion problem

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 18 09:27:49 PST 2017

arsenm added inline comments.

Comment at: lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp:172-178
+  SDValue Op = N->getOperand(0);
+  if (Op.getValueType().isVector()
+      && Op.getValueType().getVectorNumElements() == 1)
+    Op = GetScalarizedVector(Op);
   EVT NewVT = N->getValueType(0).getVectorElementType();
   return DAG.getNode(ISD::BITCAST, SDLoc(N),
+                     NewVT, Op);
There is already ScalarizeVecOp_BITCAST, so it seems the intent was this is a separate step. My question is more of why isn't that happening already in this example


More information about the llvm-commits mailing list