Lines Matching defs:N1

3819                                         SDValue N1, MutableArrayRef<int> Mask,
3823 std::swap(N0, N1);
3831 return DAG.getVectorShuffle(VT, DL, N0, N1, Mask);
3976 SDValue TargetLowering::foldSetCCWithAnd(EVT VT, SDValue N0, SDValue N1,
3979 if (N1.getOpcode() == ISD::AND && N0.getOpcode() != ISD::AND)
3980 std::swap(N0, N1);
3990 if (Cond == ISD::SETNE && isNullConstant(N1) &&
4007 if (AndC && isNullConstant(N1) && AndC->getAPIntValue().isPowerOf2() &&
4023 if (N0.getOperand(0) == N1) {
4026 } else if (N0.getOperand(1) == N1) {
4080 EVT SCCVT, SDValue N0, SDValue N1, ISD::CondCode Cond, DAGCombinerInfo &DCI,
4084 if (!(C1 = dyn_cast<ConstantSDNode>(N1)))
4233 /// the 1st operand (N0). Callers are expected to swap the N0/N1 parameters to
4235 SDValue TargetLowering::foldSetCCWithBinOp(EVT VT, SDValue N0, SDValue N1,
4250 if (X == N1)
4253 if (Y != N1)
4267 SDValue YShl1 = DAG.getNode(ISD::SHL, DL, N1.getValueType(), Y, One);
4347 static SDValue foldSetCCWithRotate(EVT VT, SDValue N0, SDValue N1,
4353 auto *C1 = isConstOrConstSplat(N1, /* AllowUndefs */ true);
4367 return DAG.getSetCC(dl, VT, R, N1, Cond);
4379 return DAG.getSetCC(dl, VT, NewOr, N1, Cond);
4383 return DAG.getSetCC(dl, VT, NewOr, N1, Cond);
4390 static SDValue foldSetCCWithFunnelShift(EVT VT, SDValue N0, SDValue N1,
4398 auto *C1 = isConstOrConstSplat(N1, /* AllowUndefs */ true);
4443 return DAG.getSetCC(dl, VT, NewOr, N1, Cond);
4450 return DAG.getSetCC(dl, VT, NewOr, N1, Cond);
4458 SDValue TargetLowering::SimplifySetCC(EVT VT, SDValue N0, SDValue N1,
4468 if (SDValue Fold = DAG.FoldSetCC(VT, N0, N1, Cond, dl))
4474 isConstOrConstSplat(N1, /*AllowUndefs*/ false, /*AllowTruncate*/ true);
4484 return DAG.getSetCC(dl, VT, N1, N0, SwappedCC);
4493 DAG.doesNodeExist(ISD::SUB, DAG.getVTList(OpVT), {N1, N0}) &&
4494 !DAG.doesNodeExist(ISD::SUB, DAG.getVTList(OpVT), {N0, N1}))
4495 return DAG.getSetCC(dl, VT, N1, N0, SwappedCC);
4497 if (SDValue V = foldSetCCWithRotate(VT, N0, N1, Cond, dl, DAG))
4500 if (SDValue V = foldSetCCWithFunnelShift(VT, N0, N1, Cond, dl, DAG))
4503 if (auto *N1C = isConstOrConstSplat(N1)) {
4521 SDValue IsXZero = DAG.getSetCC(dl, VT, N0.getOperand(0), N1, Cond);
4522 SDValue IsYZero = DAG.getSetCC(dl, VT, N0.getOperand(1), N1, Cond);
4554 if (auto *N1C = dyn_cast<ConstantSDNode>(N1.getNode())) {
4625 (isConstFalseVal(N1) ||
4841 return DAG.getSetCC(dl, VT, Val, N1,
4897 return DAG.getSetCC(dl, VT, N0.getOperand(0), N1, Cond);
4912 optimizeSetCCOfSignedTruncationCheck(VT, N0, N1, Cond, DCI, dl))
4918 if (auto *N1C = isConstOrConstSplat(N1)) {
4946 DAG.getConstant(C, dl, N1.getValueType()),
4966 DAG.getConstant(C, dl, N1.getValueType()),
4980 return DAG.getSetCC(dl, VT, N0, N1, ISD::SETNE);
4998 return DAG.getSetCC(dl, VT, N0, N1, ISD::SETNE);
5012 VT, N0, N1, Cond, DCI, dl))
5086 DAG.getConstant(0, dl, N1.getValueType()),
5094 DAG.getAllOnesConstant(dl, N1.getValueType()),
5101 if (auto *N1C = dyn_cast<ConstantSDNode>(N1.getNode())) {
5190 if (!isa<ConstantFPSDNode>(N0) && isa<ConstantFPSDNode>(N1)) {
5191 auto *CFP = cast<ConstantFPSDNode>(N1);
5206 SDValue NegN1 = DAG.getNode(ISD::FNEG, dl, N0.getValueType(), N1);
5244 return DAG.getSetCC(dl, VT, N0, N1, NewCond);
5249 if (N0 == N1) {
5267 return DAG.getSetCC(dl, VT, N0, N1, NewCond);
5277 if (isBitwiseNot(N1))
5278 return DAG.getSetCC(dl, VT, N1.getOperand(0), N0.getOperand(0), Cond);
5280 if (DAG.isConstantIntBuildVectorOrConstantInt(N1) &&
5282 SDValue Not = DAG.getNOT(dl, N1, OpVT);
5293 if (N0.getOpcode() == N1.getOpcode()) {
5294 if (N0.getOperand(0) == N1.getOperand(0))
5295 return DAG.getSetCC(dl, VT, N0.getOperand(1), N1.getOperand(1), Cond);
5296 if (N0.getOperand(1) == N1.getOperand(1))
5297 return DAG.getSetCC(dl, VT, N0.getOperand(0), N1.getOperand(0), Cond);
5300 if (N0.getOperand(0) == N1.getOperand(1))
5301 return DAG.getSetCC(dl, VT, N0.getOperand(1), N1.getOperand(0),
5303 if (N0.getOperand(1) == N1.getOperand(0))
5304 return DAG.getSetCC(dl, VT, N0.getOperand(0), N1.getOperand(1),
5313 if (auto *RHSC = dyn_cast<ConstantSDNode>(N1)) {
5351 if (SDValue V = foldSetCCWithBinOp(VT, N0, N1, Cond, dl, DCI))
5355 if (N1.getOpcode() == ISD::ADD || N1.getOpcode() == ISD::SUB ||
5356 N1.getOpcode() == ISD::XOR)
5357 if (SDValue V = foldSetCCWithBinOp(VT, N1, N0, Cond, dl, DCI))
5360 if (SDValue V = foldSetCCWithAnd(VT, N0, N1, Cond, dl, DCI))
5371 if (SDValue Folded = buildUREMEqFold(VT, N0, N1, Cond, DCI, dl))
5374 if (SDValue Folded = buildSREMEqFold(VT, N0, N1, Cond, DCI, dl))
5386 Temp = DAG.getNode(ISD::XOR, dl, OpVT, N0, N1);
5392 N0 = DAG.getNode(ISD::XOR, dl, OpVT, N0, N1);
5397 N0 = DAG.getNode(ISD::AND, dl, OpVT, N1, Temp);
5403 Temp = DAG.getNOT(dl, N1, OpVT);
5411 N0 = DAG.getNode(ISD::OR, dl, OpVT, N1, Temp);
5417 Temp = DAG.getNOT(dl, N1, OpVT);
5449 SDValue N1 = N->getOperand(0);
5451 if (isGAPlusOffset(N1.getNode(), GA, Offset)) {
5457 if (auto *V = dyn_cast<ConstantSDNode>(N1)) {
6352 SDValue N1 = N->getOperand(1);
6355 if (!ISD::matchUnaryPredicate(N1, BuildSDIVPattern))
6359 if (N1.getOpcode() == ISD::BUILD_VECTOR) {
6364 } else if (N1.getOpcode() == ISD::SPLAT_VECTOR) {
6374 assert(isa<ConstantSDNode>(N1) && "Expected a constant");
6482 SDValue N1 = N->getOperand(1);
6535 if (!ISD::matchUnaryPredicate(N1, BuildUDIVPattern))
6539 if (N1.getOpcode() == ISD::BUILD_VECTOR) {
6544 } else if (N1.getOpcode() == ISD::SPLAT_VECTOR) {
6553 assert(isa<ConstantSDNode>(N1) && "Expected a constant");
6634 SDValue IsOne = DAG.getSetCC(dl, SetCCVT, N1, One, ISD::SETEQ);