mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-08 06:32:24 +00:00
Use MVT instead of EVT in LowerVECTOR_SHUFFLEtoBlend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173009 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9b33ef7c67
commit
bbf9d3e493
@ -5692,17 +5692,16 @@ LowerVECTOR_SHUFFLEtoBlend(ShuffleVectorSDNode *SVOp,
|
||||
|
||||
// Convert i32 vectors to floating point if it is not AVX2.
|
||||
// AVX2 introduced VPBLENDD instruction for 128 and 256-bit vectors.
|
||||
EVT BlendVT = VT;
|
||||
MVT BlendVT = VT;
|
||||
if (EltVT == MVT::i64 || (EltVT == MVT::i32 && !Subtarget->hasInt256())) {
|
||||
BlendVT = EVT::getVectorVT(*DAG.getContext(),
|
||||
EVT::getFloatingPointVT(EltVT.getSizeInBits()),
|
||||
NumElems);
|
||||
BlendVT = MVT::getVectorVT(MVT::getFloatingPointVT(EltVT.getSizeInBits()),
|
||||
NumElems);
|
||||
V1 = DAG.getNode(ISD::BITCAST, dl, VT, V1);
|
||||
V2 = DAG.getNode(ISD::BITCAST, dl, VT, V2);
|
||||
}
|
||||
|
||||
SDValue Ret = DAG.getNode(X86ISD::BLENDI, dl, BlendVT, V1, V2,
|
||||
DAG.getConstant(MaskValue, MVT::i32));
|
||||
SDValue Ret = DAG.getNode(X86ISD::BLENDI, dl, BlendVT, V1, V2,
|
||||
DAG.getConstant(MaskValue, MVT::i32));
|
||||
return DAG.getNode(ISD::BITCAST, dl, VT, Ret);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user