|
@@ -29567,8 +29567,7 @@ static bool detectZextAbsDiff(const SDValue &Select, SDValue &Op0,
|
|
// In SetLT case, The second operand of the comparison can be either 1 or 0.
|
|
// In SetLT case, The second operand of the comparison can be either 1 or 0.
|
|
APInt SplatVal;
|
|
APInt SplatVal;
|
|
if ((CC == ISD::SETLT) &&
|
|
if ((CC == ISD::SETLT) &&
|
|
- !((ISD::isConstantSplatVector(SetCC.getOperand(1).getNode(), SplatVal,
|
|
|
|
- /*AllowShrink*/false) &&
|
|
|
|
|
|
+ !((ISD::isConstantSplatVector(SetCC.getOperand(1).getNode(), SplatVal) &&
|
|
SplatVal.isOneValue()) ||
|
|
SplatVal.isOneValue()) ||
|
|
(ISD::isBuildVectorAllZeros(SetCC.getOperand(1).getNode()))))
|
|
(ISD::isBuildVectorAllZeros(SetCC.getOperand(1).getNode()))))
|
|
return false;
|
|
return false;
|
|
@@ -32084,8 +32083,7 @@ static SDValue combineAndMaskToShift(SDNode *N, SelectionDAG &DAG,
|
|
return SDValue();
|
|
return SDValue();
|
|
|
|
|
|
APInt SplatVal;
|
|
APInt SplatVal;
|
|
- if (!ISD::isConstantSplatVector(Op1.getNode(), SplatVal,
|
|
|
|
- /*AllowShrink*/false) ||
|
|
|
|
|
|
+ if (!ISD::isConstantSplatVector(Op1.getNode(), SplatVal) ||
|
|
!SplatVal.isMask())
|
|
!SplatVal.isMask())
|
|
return SDValue();
|
|
return SDValue();
|
|
|
|
|
|
@@ -32669,8 +32667,7 @@ static SDValue detectUSatPattern(SDValue In, EVT VT) {
|
|
"Unexpected types for truncate operation");
|
|
"Unexpected types for truncate operation");
|
|
|
|
|
|
APInt C;
|
|
APInt C;
|
|
- if (ISD::isConstantSplatVector(In.getOperand(1).getNode(), C,
|
|
|
|
- /*AllowShrink*/false)) {
|
|
|
|
|
|
+ if (ISD::isConstantSplatVector(In.getOperand(1).getNode(), C)) {
|
|
// C should be equal to UINT32_MAX / UINT16_MAX / UINT8_MAX according
|
|
// C should be equal to UINT32_MAX / UINT16_MAX / UINT8_MAX according
|
|
// the element size of the destination type.
|
|
// the element size of the destination type.
|
|
return C.isMask(VT.getScalarSizeInBits()) ? In.getOperand(0) :
|
|
return C.isMask(VT.getScalarSizeInBits()) ? In.getOperand(0) :
|
|
@@ -35377,7 +35374,7 @@ static SDValue combineIncDecVector(SDNode *N, SelectionDAG &DAG) {
|
|
|
|
|
|
SDNode *N1 = N->getOperand(1).getNode();
|
|
SDNode *N1 = N->getOperand(1).getNode();
|
|
APInt SplatVal;
|
|
APInt SplatVal;
|
|
- if (!ISD::isConstantSplatVector(N1, SplatVal, /*AllowShrink*/false) ||
|
|
|
|
|
|
+ if (!ISD::isConstantSplatVector(N1, SplatVal) ||
|
|
!SplatVal.isOneValue())
|
|
!SplatVal.isOneValue())
|
|
return SDValue();
|
|
return SDValue();
|
|
|
|
|