Lines Matching defs:N01
1202 SDValue N01 = N0.getOperand(1);
1204 if (DAG.isConstantIntBuildVectorOrConstantInt(peekThroughBitcasts(N01))) {
1212 if (SDValue OpNode = DAG.FoldConstantArithmetic(Opc, DL, VT, {N01, N1}))
1220 return DAG.getNode(Opc, DL, VT, OpNode, N01, NewFlags);
1226 // (N00 & N01) & N00 --> N00 & N01
1227 // (N00 & N01) & N01 --> N00 & N01
1228 // (N00 | N01) | N00 --> N00 | N01
1229 // (N00 | N01) | N01 --> N00 | N01
1230 if (N1 == N00 || N1 == N01)
1234 // (N00 ^ N01) ^ N00 --> N01
1236 return N01;
1237 // (N00 ^ N01) ^ N01 --> N00
1238 if (N1 == N01)
1243 if (N1 != N01) {
1246 // if Op (Op N00, N1), N01 already exist
1248 if (!DAG.doesNodeExist(Opc, DAG.getVTList(VT), {SDValue(NE, 0), N01}))
1249 return DAG.getNode(Opc, DL, VT, SDValue(NE, 0), N01);
1254 // Reassociate if (op N01, N1) already exist
1255 if (SDNode *NE = DAG.getNodeIfExists(Opc, DAG.getVTList(VT), {N01, N1})) {
1256 // if Op (Op N01, N1), N00 already exist
1264 // (OR/AND(N00, N1)), N01) when N00 and N1 are comparisons with the same
1265 // predicate or to (OR/AND (OR/AND(N1, N01)), N00) when N01 and N1 are
1272 N01->getOpcode() == ISD::SETCC) {
1275 ISD::CondCode CC01 = cast<CondCodeSDNode>(N01.getOperand(2))->get();
1278 return DAG.getNode(Opc, DL, VT, OpNode, N01, Flags);
1281 SDValue OpNode = DAG.getNode(Opc, SDLoc(N0), VT, N01, N1, Flags);
2675 SDValue N01 = N0.getOperand(1);
2678 if (SDValue Sub = DAG.FoldConstantArithmetic(ISD::SUB, DL, VT, {N1, N01}))
2707 SDValue N01 = N0.getOperand(1);
2708 if (SDValue Add = DAG.FoldConstantArithmetic(ISD::ADD, DL, VT, {N1, N01}))
3900 SDValue N01 = N0.getOperand(1);
3901 if (SDValue NewC = DAG.FoldConstantArithmetic(ISD::SUB, DL, VT, {N01, N1}))
3914 SDValue N01 = N0.getOperand(1);
3915 if (SDValue NewC = DAG.FoldConstantArithmetic(ISD::ADD, DL, VT, {N01, N1}))
4459 SDValue N01 = N0.getOperand(1);
4460 if (SDValue C3 = DAG.FoldConstantArithmetic(ISD::SHL, DL, VT, {N1, N01}))
5560 SDValue N00, N01, N02, N03;
5566 N01 = N03 = N0.getOperand(1);
5571 N01 = N0.getOperand(1);
5581 N01 = N0.getOperand(0).getOperand(1);
5590 unsigned Opcode1 = isSignedMinMax(N00, N01, N02, N03, N0CC);
5594 ConstantSDNode *MinCOp = isConstOrConstSplat(Opcode0 == ISD::SMIN ? N1 : N01);
5595 ConstantSDNode *MaxCOp = isConstOrConstSplat(Opcode0 == ISD::SMIN ? N01 : N1);
7659 SDValue N01 = N0.getOperand(1);
7660 if (!(isBSwapHWordElement(N01, Parts) && isBSwapHWordPair(N00, Parts)) &&
7661 !(isBSwapHWordElement(N00, Parts) && isBSwapHWordPair(N01, Parts)))
7756 SDValue N01 = N0Resized.getOperand(1);
7759 if (N00 == N1Resized || N01 == N1Resized)
7764 if (SDValue NotOperand = getBitwiseNotOperand(N01, N00,
7772 if (SDValue NotOperand = getBitwiseNotOperand(N00, N01,
7775 return DAG.getNode(ISD::OR, DL, VT, DAG.getZExtOrTrunc(N01, DL, VT),
9502 SDValue N00 = N0.getOperand(0), N01 = N0.getOperand(1);
9503 if (isOneUseSetCC(N01) || isOneUseSetCC(N00)) {
9506 N01 = DAG.getNode(ISD::XOR, SDLoc(N01), VT, N01, N1); // N01 = ~N01
9507 AddToWorklist(N00.getNode()); AddToWorklist(N01.getNode());
9508 return DAG.getNode(NewOpcode, DL, VT, N00, N01);
9514 SDValue N00 = N0.getOperand(0), N01 = N0.getOperand(1);
9515 if (isa<ConstantSDNode>(N01) || isa<ConstantSDNode>(N00)) {
9518 N01 = DAG.getNode(ISD::XOR, SDLoc(N01), VT, N01, N1); // N01 = ~N01
9519 AddToWorklist(N00.getNode()); AddToWorklist(N01.getNode());
9520 return DAG.getNode(NewOpcode, DL, VT, N00, N01);
9766 SDValue N01 = N->getOperand(0).getOperand(1);
9767 if (isConstantOrConstantVector(N01, /* NoOpaques */ true)) {
9771 SDValue Trunc01 = DAG.getNode(ISD::TRUNCATE, DL, TruncVT, N01);
9887 SDValue N01 = N0->getOperand(1);
9888 BuildVectorSDNode *N01CV = dyn_cast<BuildVectorSDNode>(N01);
9894 DAG.FoldConstantArithmetic(ISD::SHL, DL, VT, {N01, N1}))
10025 SDValue N01 = DAG.getZExtOrTrunc(N0.getOperand(1), DL, ShiftVT);
10026 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N1, N01);
10032 SDValue N01 = DAG.getZExtOrTrunc(N0.getOperand(1), DL, ShiftVT);
10033 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N01, N1);
10048 SDValue N01 = DAG.getZExtOrTrunc(N0.getOperand(1), DL, ShiftVT);
10049 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N01, N1);
10051 Mask = DAG.getNode(ISD::SHL, DL, VT, Mask, N01);
10059 SDValue N01 = DAG.getZExtOrTrunc(N0.getOperand(1), DL, ShiftVT);
10060 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N1, N01);
10083 SDValue N01 = N0.getOperand(1);
10085 DAG.FoldConstantArithmetic(ISD::SHL, SDLoc(N1), VT, {N01, N1})) {
10119 SDValue N01 = N0.getOperand(1);
10121 DAG.FoldConstantArithmetic(ISD::SHL, SDLoc(N1), VT, {N01, N1}))
10624 SDValue N01 = DAG.getZExtOrTrunc(N0.getOperand(1), DL, ShiftVT);
10625 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N01, N1);
10627 Mask = DAG.getNode(ISD::SRL, DL, VT, Mask, N01);
10635 SDValue N01 = DAG.getZExtOrTrunc(N0.getOperand(1), DL, ShiftVT);
10636 SDValue Diff = DAG.getNode(ISD::SUB, DL, ShiftVT, N1, N01);
13446 SDValue N01 = N0.getOperand(1);
13471 return DAG.getSetCC(DL, VT, N00, N01, CC);
13478 SDValue VsetCC = DAG.getSetCC(DL, MatchingVecType, N00, N01, CC);
13522 if (IsFreeToExtend(N00) && IsFreeToExtend(N01)) {
13524 SDValue Ext1 = DAG.getNode(ExtOpcode, DL, VT, N01);
13546 if (SDValue SCC = SimplifySelectCC(DL, N00, N01, ExtTrueVal, Zero, CC, true))
13557 SDValue SetCC = DAG.getSetCC(DL, SetCCVT, N00, N01, CC);
14588 if (ConstantSDNode *N01 = dyn_cast<ConstantSDNode>(N0.getOperand(1))) {
14589 ShLeftAmt = N01->getZExtValue();
16193 SDValue N01 = N0.getOperand(0).getOperand(1);
16195 matcher.getNode(ISD::FNEG, SL, VT, N00), N01,
16978 SDValue N01 = N0.getOperand(1);
16981 if (DAG.isConstantFPBuildVectorOrConstantFP(N01) &&
16983 SDValue MulConsts = DAG.getNode(ISD::FMUL, DL, VT, N01, N1);