forked from OSchip/llvm-project
[X86] Qualify a few places with ExperimentalVectorWideningLegalization.
I'm playing around with this flag and these places cause errors if not qualified. llvm-svn: 318595
This commit is contained in:
parent
c9bc55a08d
commit
410bbcdcf1
|
@ -24602,8 +24602,10 @@ void X86TargetLowering::ReplaceNodeResults(SDNode *N,
|
|||
SDValue InVec1 = DAG.getNode(ISD::CONCAT_VECTORS, dl, RegVT, Ops);
|
||||
|
||||
SDValue Res = DAG.getNode(X86ISD::AVG, dl, RegVT, InVec0, InVec1);
|
||||
Results.push_back(DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, InVT, Res,
|
||||
DAG.getIntPtrConstant(0, dl)));
|
||||
if (!ExperimentalVectorWideningLegalization)
|
||||
Res = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, InVT, Res,
|
||||
DAG.getIntPtrConstant(0, dl));
|
||||
Results.push_back(Res);
|
||||
return;
|
||||
}
|
||||
// We might have generated v2f32 FMIN/FMAX operations. Widen them to v4f32.
|
||||
|
@ -24645,7 +24647,8 @@ void X86TargetLowering::ReplaceNodeResults(SDNode *N,
|
|||
SDValue Res = DAG.getNode(IsSigned ? X86ISD::CVTTP2SI
|
||||
: X86ISD::CVTTP2UI,
|
||||
dl, MVT::v4i32, Src);
|
||||
Res = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v2i32, Res, Idx);
|
||||
if (!ExperimentalVectorWideningLegalization)
|
||||
Res = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v2i32, Res, Idx);
|
||||
Results.push_back(Res);
|
||||
return;
|
||||
}
|
||||
|
@ -24655,7 +24658,8 @@ void X86TargetLowering::ReplaceNodeResults(SDNode *N,
|
|||
DAG.getUNDEF(MVT::v2f32));
|
||||
Res = DAG.getNode(IsSigned ? ISD::FP_TO_SINT
|
||||
: ISD::FP_TO_UINT, dl, MVT::v4i32, Res);
|
||||
Res = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v2i32, Res, Idx);
|
||||
if (!ExperimentalVectorWideningLegalization)
|
||||
Res = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, MVT::v2i32, Res, Idx);
|
||||
Results.push_back(Res);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue