diff options
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 8 | 
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 147f201ac67..974d9eb6ea3 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -5472,14 +5472,12 @@ X86TargetLowering::LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) const {                                  X86::getShufflePALIGNRImmediate(SVOp),                                  DAG); -  // MMX shuffles not already handled must be expanded. +  // Only a few shuffle masks are handled for 64-bit vectors (MMX), and +  // 64-bit vectors which made to this point can't be handled, they are +  // expanded.    if (VT.getSizeInBits() == 64)      return SDValue(); -  // FIXME: pshufb, blends, shifts. -  if (VT.getVectorNumElements() == 2) -    return Op; -    if (ShuffleVectorSDNode::isSplatMask(&M[0], VT) &&        SVOp->getSplatIndex() == 0 && V2IsUndef) {      if (VT == MVT::v2f64)  | 

