forked from OSchip/llvm-project
[X86] Now unreachable handling for f64->v2i32/v4i16/v8i8 bitcasts from ReplaceNodeResults.
We rely on the generic type legalizer for this now. llvm-svn: 368388
This commit is contained in:
parent
d871f638d7
commit
6f81db0f68
|
@ -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: {
|
||||
|
|
Loading…
Reference in New Issue