mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
Revert r112689, avoid those kind of checks cause they mess up with mmx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112760 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
188da252ab
commit
4783a3ee13
@ -5194,10 +5194,10 @@ X86TargetLowering::LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const {
|
||||
|
||||
unsigned TargetMask = X86::getShuffleSHUFImmediate(SVOp);
|
||||
|
||||
if (HasSSE2 && NumElems == 4)
|
||||
if (HasSSE2 && (VT == MVT::v4f32 || VT == MVT::v4i32))
|
||||
return getTargetShuffleNode(X86ISD::PSHUFD, dl, VT, V1, TargetMask, DAG);
|
||||
|
||||
if (HasSSE2 && NumElems == 2)
|
||||
if (HasSSE2 && (VT == MVT::v2i64 || VT == MVT::v2f64))
|
||||
return getTargetShuffleNode(X86ISD::SHUFPD, dl, VT, V1, V1,
|
||||
TargetMask, DAG);
|
||||
|
||||
@ -5226,10 +5226,10 @@ X86TargetLowering::LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const {
|
||||
if (ISD::isBuildVectorAllZeros(V1.getNode()))
|
||||
return getVZextMovL(VT, VT, V2, DAG, Subtarget, dl);
|
||||
if (!isMMX && !X86::isMOVLPMask(SVOp)) {
|
||||
if (HasSSE2 && NumElems == 2)
|
||||
if (HasSSE2 && (VT == MVT::v2i64 || VT == MVT::v2f64))
|
||||
return getTargetShuffleNode(X86ISD::MOVSD, dl, VT, V1, V2, DAG);
|
||||
|
||||
if (NumElems == 4)
|
||||
if (VT == MVT::v4i32 || VT == MVT::v4f32)
|
||||
return getTargetShuffleNode(X86ISD::MOVSS, dl, VT, V1, V2, DAG);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user