[X86] Now unreachable handling for f64->v2i32/v4i16/v8i8 bitcasts from ReplaceNodeRes...
authorCraig Topper <craig.topper@intel.com>
Fri, 9 Aug 2019 03:09:19 +0000 (03:09 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 9 Aug 2019 03:09:19 +0000 (03:09 +0000)
We rely on the generic type legalizer for this now.

llvm-svn: 368388

llvm/lib/Target/X86/X86ISelLowering.cpp

index 0b81ce9ea7d2d17a0d7d4620b3f9211c338a5ac4..73698e5270f7ed5425b0dde525e0736eead1189f 100644 (file)
@@ -28104,20 +28104,6 @@ void X86TargetLowering::ReplaceNodeResults(SDNode *N,
       return;
     }
 
-    if (SrcVT != MVT::f64 ||
-        (DstVT != MVT::v2i32 && DstVT != MVT::v4i16 && DstVT != MVT::v8i8) ||
-        getTypeAction(*DAG.getContext(), DstVT) == TypeWidenVector)
-      return;
-
-    unsigned NumElts = DstVT.getVectorNumElements();
-    EVT SVT = DstVT.getVectorElementType();
-    EVT WiderVT = EVT::getVectorVT(*DAG.getContext(), SVT, NumElts * 2);
-    SDValue Res;
-    Res = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v2f64, N->getOperand(0));
-    Res = DAG.getBitcast(WiderVT, Res);
-    Res = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, DstVT, Res,
-                      DAG.getIntPtrConstant(0, dl));
-    Results.push_back(Res);
     return;
   }
   case ISD::MGATHER: {