Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:N2

961                                             SDValue N2, bool nuw, bool nsw,
965 Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs, N1, N2);
974 BinarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs, N1, N2);
1465 // commuteShuffle - swaps the values of N1 and N2, and swaps all indices in
1466 // the shuffle mask M that point at N1 to point at N2, and indices that point
1467 // N2 to point at N1.
1468 static void commuteShuffle(SDValue &N1, SDValue &N2, SmallVectorImpl<int> &M) {
1469 std::swap(N1, N2);
1480 SDValue N2, const int *Mask) {
1481 assert(VT == N1.getValueType() && VT == N2.getValueType() &&
1485 if (N1.getOpcode() == ISD::UNDEF && N2.getOpcode() == ISD::UNDEF)
1498 if (N1 == N2) {
1499 N2 = getUNDEF(VT);
1506 commuteShuffle(N1, N2, MaskVec);
1511 bool N2Undef = N2.getOpcode() == ISD::UNDEF;
1525 N2 = getUNDEF(VT);
1528 commuteShuffle(N1, N2, MaskVec);
1531 N2Undef = N2.getOpcode() == ISD::UNDEF;
1577 SDValue Ops[2] = { N1, N2 };
1594 dl.getDebugLoc(), N1, N2,
1791 SDValue N2, ISD::CondCode Cond, SDLoc dl) {
1820 if (ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2.getNode())) {
1841 if (ConstantFPSDNode *N2C = dyn_cast<ConstantFPSDNode>(N2.getNode())) {
1891 return getSetCC(dl, VT, N2, N1, SwappedCond);
3068 SDValue N2, bool nuw, bool nsw, bool exact) {
3070 ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2.getNode());
3075 N2.getValueType() == MVT::Other && "Invalid token factor!");
3077 if (N1.getOpcode() == ISD::EntryToken) return N2;
3078 if (N2.getOpcode() == ISD::EntryToken) return N1;
3079 if (N1 == N2) return N1;
3084 N2.getOpcode() == ISD::UNDEF)
3090 N2.getOpcode() == ISD::BUILD_VECTOR) {
3093 Elts.append(N2.getNode()->op_begin(), N2.getNode()->op_end());
3099 assert(N1.getValueType() == N2.getValueType() &&
3104 return N2;
3113 assert(N1.getValueType() == N2.getValueType() &&
3128 assert(N1.getValueType() == N2.getValueType() &&
3141 return N2;
3143 if (ConstantFPSDNode *CFP = dyn_cast<ConstantFPSDNode>(N2))
3148 if (ConstantFPSDNode *CFP = dyn_cast<ConstantFPSDNode>(N2))
3153 SDValue V = N2;
3157 CFP = dyn_cast<ConstantFPSDNode>(N2);
3172 assert(N1.getValueType() == N2.getValueType() &&
3175 case ISD::FCOPYSIGN: // N1 and result must match. N1/N2 need not match.
3178 N2.getValueType().isFloatingPoint() &&
3188 assert(VT.isInteger() && N2.getValueType().isInteger() &&
3190 assert((!VT.isVector() || VT == N2.getValueType()) &&
3196 assert(N2.getValueType().getSizeInBits() >=
3209 EVT EVT = cast<VTSDNode>(N2)->getVT();
3221 if (cast<VTSDNode>(N2)->getVT() == VT) return N1; // Not actually rounding.
3228 isa<ConstantSDNode>(N2) && "Invalid FP_ROUND!");
3233 EVT EVT = cast<VTSDNode>(N2)->getVT();
3245 EVT EVT = cast<VTSDNode>(N2)->getVT();
3282 N2.getValueType()));
3316 return getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, N1.getOperand(0), N2);
3342 SDValue Index = N2;
3368 SDValue SV = FoldConstantArithmetic(Opcode, VT, N1.getNode(), N2.getNode());
3374 std::swap(N1, N2);
3379 ConstantFPSDNode *N2CFP = dyn_cast<ConstantFPSDNode>(N2.getNode());
3384 std::swap(N1, N2);
3435 std::swap(N1, N2);
3456 return N2;
3462 if (N2.getOpcode() == ISD::UNDEF) {
3478 return N2; // fold op(arg1, undef) -> undef
3485 return N2;
3512 SDValue Ops[] = {N1, N2};
3521 N = GetBinarySDNode(Opcode, DL, VTs, N1, N2, nuw, nsw, exact);
3526 N = GetBinarySDNode(Opcode, DL, VTs, N1, N2, nuw, nsw, exact);
3537 SDValue N1, SDValue N2, SDValue N3) {
3543 ConstantFPSDNode *N2CFP = dyn_cast<ConstantFPSDNode>(N2);
3560 N2.getOpcode() == ISD::BUILD_VECTOR &&
3564 Elts.append(N2.getNode()->op_begin(), N2.getNode()->op_end());
3571 SDValue Simp = FoldSetCC(VT, N1, N2, cast<CondCodeSDNode>(N3)->get(), DL);
3578 return N2; // select true, X, Y -> X
3582 if (N2 == N3) return N2; // select C, X, X -> X
3589 && N2.getValueType().isSimple()) {
3591 N2.getValueType().isVector() &&
3595 assert(N2.getSimpleValueType() <= N1.getSimpleValueType() &&
3598 assert((N2.getValueType().getVectorNumElements() +
3605 if (VT.getSimpleVT() == N2.getSimpleValueType())
3606 return N2;
3621 SDValue Ops[] = { N1, N2, N3 };
3629 DL.getDebugLoc(), VTs, N1, N2, N3);
3633 DL.getDebugLoc(), VTs, N1, N2, N3);
3644 SDValue N1, SDValue N2, SDValue N3,
3646 SDValue Ops[] = { N1, N2, N3, N4 };
3651 SDValue N1, SDValue N2, SDValue N3,
3653 SDValue Ops[] = { N1, N2, N3, N4, N5 };
5021 return getNode(Opcode, DL, VT, N1, N2, N3.getOperand(0));
5028 return getNode(Opcode, DL, VT, N1, N2, N3.getOperand(0));
5095 SDValue N1, SDValue N2) {
5096 SDValue Ops[] = { N1, N2 };
5101 SDValue N1, SDValue N2, SDValue N3) {
5102 SDValue Ops[] = { N1, N2, N3 };
5107 SDValue N1, SDValue N2, SDValue N3,
5109 SDValue Ops[] = { N1, N2, N3, N4 };
5114 SDValue N1, SDValue N2, SDValue N3,
5116 SDValue Ops[] = { N1, N2, N3, N4, N5 };