@@ -29338,7 +29338,6 @@ static SDValue LowerShiftByScalarVariable(SDValue Op, SelectionDAG &DAG,
29338
29338
SDValue Amt = Op.getOperand(1);
29339
29339
unsigned Opcode = Op.getOpcode();
29340
29340
unsigned X86OpcI = getTargetVShiftUniformOpcode(Opcode, false);
29341
- unsigned X86OpcV = getTargetVShiftUniformOpcode(Opcode, true);
29342
29341
29343
29342
// TODO: Use getSplatSourceVector.
29344
29343
if (SDValue BaseShAmt = DAG.getSplatValue(Amt)) {
@@ -29401,23 +29400,6 @@ static SDValue LowerShiftByScalarVariable(SDValue Op, SelectionDAG &DAG,
29401
29400
}
29402
29401
}
29403
29402
29404
- // Check cases (mainly 32-bit) where i64 is expanded into high and low parts.
29405
- if (VT == MVT::v2i64 && Amt.getOpcode() == ISD::BITCAST &&
29406
- Amt.getOperand(0).getOpcode() == ISD::BUILD_VECTOR) {
29407
- Amt = Amt.getOperand(0);
29408
- unsigned Ratio = 64 / Amt.getScalarValueSizeInBits();
29409
- std::vector<SDValue> Vals(Ratio);
29410
- for (unsigned i = 0; i != Ratio; ++i)
29411
- Vals[i] = Amt.getOperand(i);
29412
- for (unsigned i = Ratio, e = Amt.getNumOperands(); i != e; i += Ratio) {
29413
- for (unsigned j = 0; j != Ratio; ++j)
29414
- if (Vals[j] != Amt.getOperand(i + j))
29415
- return SDValue();
29416
- }
29417
-
29418
- if (supportedVectorShiftWithBaseAmnt(VT, Subtarget, Op.getOpcode()))
29419
- return DAG.getNode(X86OpcV, dl, VT, R, Op.getOperand(1));
29420
- }
29421
29403
return SDValue();
29422
29404
}
29423
29405
0 commit comments