Fixed crash of variable shift inst on AVX2
[oota-llvm.git] / lib / Target / X86 / X86ISelLowering.cpp
index cf3165e7513c729688335098960dafd192e2ca1c..1797ce4a11f5aad9a38257e83009d4113f3903a4 100644 (file)
@@ -16495,9 +16495,7 @@ static SDValue LowerScalarVariableShift(SDValue Op, SelectionDAG &DAG,
   }
 
   // Special case in 32-bit mode, where i64 is expanded into high and low parts.
-  if (!Subtarget->is64Bit() &&
-      (VT == MVT::v2i64 || (Subtarget->hasInt256() && VT == MVT::v4i64) ||
-      (Subtarget->hasAVX512() && VT == MVT::v8i64)) &&
+  if (!Subtarget->is64Bit() && VT == MVT::v2i64  &&
       Amt.getOpcode() == ISD::BITCAST &&
       Amt.getOperand(0).getOpcode() == ISD::BUILD_VECTOR) {
     Amt = Amt.getOperand(0);