reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

include/llvm/CodeGen/SelectionDAGNodes.h
  184   inline const SDValue &getOperand(unsigned i) const;

References

lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  810     LHS = N.getOperand(0);
  811     RHS = N.getOperand(1);
  812     CC  = N.getOperand(2);
  817       !TLI.isConstTrueVal(N.getOperand(2).getNode()) ||
  818       !TLI.isConstFalseVal(N.getOperand(3).getNode()))
  825   LHS = N.getOperand(0);
  826   RHS = N.getOperand(1);
  827   CC  = N.getOperand(4);
  896   auto *C1 = dyn_cast<ConstantSDNode>(N0.getOperand(1));
  949   if (SDNode *C1 = DAG.isConstantIntBuildVectorOrConstantInt(N0.getOperand(1))) {
  953         return DAG.getNode(Opc, DL, VT, N0.getOperand(0), OpNode);
  959       SDValue OpNode = DAG.getNode(Opc, SDLoc(N0), VT, N0.getOperand(0), N1);
  962       return DAG.getNode(Opc, DL, VT, OpNode, N0.getOperand(1));
 1118     if (SDValue Op0 = SExtPromoteOperand(Op.getOperand(0), PVT))
 1119       return DAG.getNode(ISD::AssertSext, DL, PVT, Op0, Op.getOperand(1));
 1122     if (SDValue Op0 = ZExtPromoteOperand(Op.getOperand(0), PVT))
 1123       return DAG.getNode(ISD::AssertZext, DL, PVT, Op0, Op.getOperand(1));
 1194     SDValue N0 = Op.getOperand(0);
 1198     SDValue N1 = Op.getOperand(1);
 1259     SDValue N0 = Op.getOperand(0);
 1260     SDValue N1 = Op.getOperand(1);
 1276       ReplaceLoadWithPromotedLoad(Op.getOperand(0).getNode(), N0.getNode());
 1308     return DAG.getNode(Op.getOpcode(), SDLoc(Op), VT, Op.getOperand(0));
 1933   SDValue CT = Sel.getOperand(1);
 1938   SDValue CF = Sel.getOperand(2);
 1989   SDValue SelectOp = DAG.getSelect(DL, VT, Sel.getOperand(0), NewCT, NewCF);
 2009   if (Z.getOperand(0).getOpcode() != ISD::SETCC ||
 2010       Z.getOperand(0).getValueType() != MVT::i1)
 2014   SDValue SetCC = Z.getOperand(0);
 2016   if (CC != ISD::SETEQ || !isNullConstant(SetCC.getOperand(1)) ||
 2017       SetCC.getOperand(0).getOpcode() != ISD::AND ||
 2018       !isOneConstant(SetCC.getOperand(0).getOperand(1)))
 2018       !isOneConstant(SetCC.getOperand(0).getOperand(1)))
 2027   SDValue LowBit = DAG.getZExtOrTrunc(SetCC.getOperand(0), DL, VT);
 2050   SDValue Not = ShiftOp.getOperand(0);
 2056   SDValue ShAmt = ShiftOp.getOperand(1);
 2066   SDValue NewShift = DAG.getNode(ShOpcode, DL, VT, Not.getOperand(0), ShAmt);
 2115         isConstantOrConstantVector(N0.getOperand(1), /* NoOpaque */ true)) {
 2117                                                N0.getOperand(1).getNode());
 2119       return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), Sub);
 2124         isConstantOrConstantVector(N0.getOperand(0), /* NoOpaque */ true)) {
 2126                                                N0.getOperand(0).getNode());
 2128       return DAG.getNode(ISD::SUB, DL, VT, Add, N0.getOperand(1));
 2137       SDValue X = N0.getOperand(0);
 2149         isa<FrameIndexSDNode>(N0.getOperand(0)) &&
 2150         isa<ConstantSDNode>(N0.getOperand(1)) &&
 2151         DAG.haveNoCommonBitsSet(N0.getOperand(0), N0.getOperand(1))) {
 2151         DAG.haveNoCommonBitsSet(N0.getOperand(0), N0.getOperand(1))) {
 2152       SDValue Add0 = DAG.getNode(ISD::ADD, DL, VT, N1, N0.getOperand(1));
 2153       return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), Add0);
 2166   if (N0.getOpcode() == ISD::SUB && isNullOrNullSplat(N0.getOperand(0)))
 2167     return DAG.getNode(ISD::SUB, DL, VT, N1, N0.getOperand(1));
 2170   if (N1.getOpcode() == ISD::SUB && isNullOrNullSplat(N1.getOperand(0)))
 2171     return DAG.getNode(ISD::SUB, DL, VT, N0, N1.getOperand(1));
 2174   if (N1.getOpcode() == ISD::SUB && N0 == N1.getOperand(1))
 2175     return N1.getOperand(0);
 2178   if (N0.getOpcode() == ISD::SUB && N1 == N0.getOperand(1))
 2179     return N0.getOperand(0);
 2183       N0.getOperand(0) == N1.getOperand(1))
 2183       N0.getOperand(0) == N1.getOperand(1))
 2184     return DAG.getNode(ISD::SUB, DL, VT, N1.getOperand(0),
 2185                        N0.getOperand(1));
 2189       N0.getOperand(1) == N1.getOperand(0))
 2189       N0.getOperand(1) == N1.getOperand(0))
 2190     return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0),
 2191                        N1.getOperand(1));
 2194   if (N1.getOpcode() == ISD::SUB && N1.getOperand(1).getOpcode() == ISD::ADD &&
 2195       N0 == N1.getOperand(1).getOperand(0))
 2195       N0 == N1.getOperand(1).getOperand(0))
 2196     return DAG.getNode(ISD::SUB, DL, VT, N1.getOperand(0),
 2197                        N1.getOperand(1).getOperand(1));
 2197                        N1.getOperand(1).getOperand(1));
 2200   if (N1.getOpcode() == ISD::SUB && N1.getOperand(1).getOpcode() == ISD::ADD &&
 2201       N0 == N1.getOperand(1).getOperand(1))
 2201       N0 == N1.getOperand(1).getOperand(1))
 2202     return DAG.getNode(ISD::SUB, DL, VT, N1.getOperand(0),
 2203                        N1.getOperand(1).getOperand(0));
 2203                        N1.getOperand(1).getOperand(0));
 2207       N1.getOperand(0).getOpcode() == ISD::SUB &&
 2208       N0 == N1.getOperand(0).getOperand(1))
 2208       N0 == N1.getOperand(0).getOperand(1))
 2209     return DAG.getNode(N1.getOpcode(), DL, VT, N1.getOperand(0).getOperand(0),
 2209     return DAG.getNode(N1.getOpcode(), DL, VT, N1.getOperand(0).getOperand(0),
 2210                        N1.getOperand(1));
 2214     SDValue N00 = N0.getOperand(0);
 2215     SDValue N01 = N0.getOperand(1);
 2216     SDValue N10 = N1.getOperand(0);
 2217     SDValue N11 = N1.getOperand(1);
 2231     if (ISD::matchBinaryPredicate(N0.getOperand(1), N1, MatchUSUBSAT,
 2233       return DAG.getNode(ISD::USUBSAT, DL, VT, N0.getOperand(0),
 2234                          N0.getOperand(1));
 2244                          N0.getOperand(0));
 2252       if (isBitwiseNot(N0.getOperand(0))) {
 2253         A = N0.getOperand(1);
 2254         Xor = N0.getOperand(0);
 2255       } else if (isBitwiseNot(N0.getOperand(1))) {
 2256         A = N0.getOperand(0);
 2257         Xor = N0.getOperand(1);
 2261         return DAG.getNode(ISD::SUB, DL, VT, A, Xor.getOperand(0));
 2270       SDValue Not = DAG.getNode(ISD::XOR, DL, VT, N0.getOperand(0),
 2272       return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(1), Not);
 2279     SDValue Xor = DAG.getNode(ISD::XOR, DL, VT, N0.getOperand(1), N1);
 2280     return DAG.getNode(ISD::ADD, DL, VT, Xor, N0.getOperand(0));
 2364       V = V.getOperand(0);
 2368     if (V.getOpcode() == ISD::AND && isOneConstant(V.getOperand(1))) {
 2370       V = V.getOperand(0);
 2409   if (DAG.ComputeNumSignBits(N1.getOperand(0)) != VT.getScalarSizeInBits())
 2414   return DAG.getNode(IsAdd ? ISD::SUB : ISD::ADD, DL, VT, N0, N1.getOperand(0));
 2424   if (N1.getOpcode() == ISD::SHL && N1.getOperand(0).getOpcode() == ISD::SUB &&
 2425       isNullOrNullSplat(N1.getOperand(0).getOperand(0)))
 2425       isNullOrNullSplat(N1.getOperand(0).getOperand(0)))
 2428                                    N1.getOperand(0).getOperand(1),
 2428                                    N1.getOperand(0).getOperand(1),
 2429                                    N1.getOperand(1)));
 2439       N0.getOpcode() == ISD::ADD && isOneOrOneSplat(N0.getOperand(1))) {
 2440     SDValue Not = DAG.getNode(ISD::XOR, DL, VT, N0.getOperand(0),
 2449       isConstantOrConstantVector(N0.getOperand(1), /*NoOpaques=*/true)) {
 2450     SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), N1);
 2451     return DAG.getNode(ISD::SUB, DL, VT, Add, N0.getOperand(1));
 2456       isConstantOrConstantVector(N0.getOperand(0), /*NoOpaques=*/true)) {
 2457     SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N1, N0.getOperand(1));
 2458     return DAG.getNode(ISD::ADD, DL, VT, Sub, N0.getOperand(0));
 2465       N0.getOperand(0).getScalarValueSizeInBits() == 1 &&
 2467     SDValue ZExt = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0));
 2473     VTSDNode *TN = cast<VTSDNode>(N1.getOperand(1));
 2475       SDValue ZExt = DAG.getNode(ISD::AND, DL, VT, N1.getOperand(0),
 2482   if (N1.getOpcode() == ISD::ADDCARRY && isNullConstant(N1.getOperand(1)) &&
 2485                        N0, N1.getOperand(0), N1.getOperand(2));
 2485                        N0, N1.getOperand(0), N1.getOperand(2));
 2561   ConstantSDNode *Const = isConstOrConstSplat(V.getOperand(1), false);
 2581     return V.getOperand(0);
 2619                                 DAG.getConstant(0, DL, VT), N0.getOperand(0));
 2641   if (N1.getOpcode() == ISD::ADDCARRY && isNullConstant(N1.getOperand(1))) {
 2642     SDValue Y = N1.getOperand(0);
 2646                          N1.getOperand(2));
 2753       isNullConstant(Carry0.getOperand(1))) {
 2754     Z = Carry0.getOperand(2);
 2756              isOneConstant(Carry0.getOperand(1))) {
 2758     Z = DAG.getConstant(1, SDLoc(Carry0.getOperand(1)), VT);
 2781   if (Carry0.getOperand(0) == Carry1.getValue(0)) {
 2782     return cancelDiamond(Carry1.getOperand(0), Carry1.getOperand(1));
 2782     return cancelDiamond(Carry1.getOperand(0), Carry1.getOperand(1));
 2792   if (Carry1.getOperand(0) == Carry0.getValue(0)) {
 2793     return cancelDiamond(Carry0.getOperand(0), Carry1.getOperand(1));
 2793     return cancelDiamond(Carry0.getOperand(0), Carry1.getOperand(1));
 2796   if (Carry1.getOperand(1) == Carry0.getValue(0)) {
 2797     return cancelDiamond(Carry1.getOperand(0), Carry0.getOperand(0));
 2797     return cancelDiamond(Carry1.getOperand(0), Carry0.getOperand(0));
 2810                                 N0.getOperand(0), NotC);
 2824                        N0.getOperand(0), N0.getOperand(1), CarryIn);
 2824                        N0.getOperand(0), N0.getOperand(1), CarryIn);
 2898       ConstantSDNode *ShiftAmt = isConstOrConstSplat(N1.getOperand(1));
 2902           return DAG.getNode(NewSh, DL, VT, N1.getOperand(0), N1.getOperand(1));
 2902           return DAG.getNode(NewSh, DL, VT, N1.getOperand(0), N1.getOperand(1));
 2926   if (N1.getOpcode() == ISD::SUB && isNullOrNullSplat(N1.getOperand(0)))
 2927     return DAG.getNode(ISD::ADD, DL, VT, N0, N1.getOperand(1));
 2930   if (N1.getOpcode() == ISD::SUB && N0 == N1.getOperand(0))
 2931     return N1.getOperand(1);
 2934   if (N0.getOpcode() == ISD::ADD && N0.getOperand(0) == N1)
 2935     return N0.getOperand(1);
 2938   if (N0.getOpcode() == ISD::ADD && N0.getOperand(1) == N1)
 2939     return N0.getOperand(0);
 2944       isConstantOrConstantVector(N0.getOperand(1), /* NoOpaques */ true)) {
 2946         ISD::SUB, DL, VT, N0.getOperand(1).getNode(), N1.getNode());
 2948     return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), NewC);
 2953     SDValue N11 = N1.getOperand(1);
 2959       return DAG.getNode(ISD::SUB, DL, VT, NewC, N1.getOperand(0));
 2966       isConstantOrConstantVector(N0.getOperand(1), /* NoOpaques */ true)) {
 2968         ISD::ADD, DL, VT, N0.getOperand(1).getNode(), N1.getNode());
 2970     return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), NewC);
 2976       isConstantOrConstantVector(N0.getOperand(0), /* NoOpaques */ true)) {
 2978         ISD::SUB, DL, VT, N0.getOperand(0).getNode(), N1.getNode());
 2980     return DAG.getNode(ISD::SUB, DL, VT, NewC, N0.getOperand(1));
 2985       (N0.getOperand(1).getOpcode() == ISD::SUB ||
 2986        N0.getOperand(1).getOpcode() == ISD::ADD) &&
 2987       N0.getOperand(1).getOperand(0) == N1)
 2987       N0.getOperand(1).getOperand(0) == N1)
 2988     return DAG.getNode(N0.getOperand(1).getOpcode(), DL, VT, N0.getOperand(0),
 2988     return DAG.getNode(N0.getOperand(1).getOpcode(), DL, VT, N0.getOperand(0),
 2989                        N0.getOperand(1).getOperand(1));
 2989                        N0.getOperand(1).getOperand(1));
 2992   if (N0.getOpcode() == ISD::ADD && N0.getOperand(1).getOpcode() == ISD::ADD &&
 2993       N0.getOperand(1).getOperand(1) == N1)
 2993       N0.getOperand(1).getOperand(1) == N1)
 2994     return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0),
 2995                        N0.getOperand(1).getOperand(0));
 2995                        N0.getOperand(1).getOperand(0));
 2998   if (N0.getOpcode() == ISD::SUB && N0.getOperand(1).getOpcode() == ISD::SUB &&
 2999       N0.getOperand(1).getOperand(1) == N1)
 2999       N0.getOperand(1).getOperand(1) == N1)
 3000     return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0),
 3001                        N0.getOperand(1).getOperand(0));
 3001                        N0.getOperand(1).getOperand(0));
 3006                        DAG.getNode(ISD::SUB, DL, VT, N1.getOperand(1),
 3007                                    N1.getOperand(0)));
 3011     if (N1.getOperand(0).getOpcode() == ISD::SUB &&
 3012         isNullOrNullSplat(N1.getOperand(0).getOperand(0))) {
 3012         isNullOrNullSplat(N1.getOperand(0).getOperand(0))) {
 3014                                 N1.getOperand(0).getOperand(1),
 3014                                 N1.getOperand(0).getOperand(1),
 3015                                 N1.getOperand(1));
 3018     if (N1.getOperand(1).getOpcode() == ISD::SUB &&
 3019         isNullOrNullSplat(N1.getOperand(1).getOperand(0))) {
 3019         isNullOrNullSplat(N1.getOperand(1).getOperand(0))) {
 3021                                 N1.getOperand(0),
 3022                                 N1.getOperand(1).getOperand(1));
 3022                                 N1.getOperand(1).getOperand(1));
 3044     SDValue Xor = DAG.getNode(ISD::XOR, DL, VT, N0.getOperand(1),
 3046     return DAG.getNode(ISD::ADD, DL, VT, Xor, N0.getOperand(0));
 3054     SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0, N1.getOperand(0));
 3061       isConstantOrConstantVector(N0.getOperand(1), /*NoOpaques=*/true)) {
 3062     SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), N1);
 3063     return DAG.getNode(ISD::ADD, DL, VT, Sub, N0.getOperand(1));
 3067       isConstantOrConstantVector(N1.getOperand(1), /*NoOpaques=*/true)) {
 3068     SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0, N1.getOperand(0));
 3069     return DAG.getNode(ISD::SUB, DL, VT, Sub, N1.getOperand(1));
 3074       isConstantOrConstantVector(N0.getOperand(1), /*NoOpaques=*/true)) {
 3075     SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), N1);
 3076     return DAG.getNode(ISD::SUB, DL, VT, Sub, N0.getOperand(1));
 3080       isConstantOrConstantVector(N0.getOperand(0), /*NoOpaques=*/true)) {
 3081     SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(1), N1);
 3082     return DAG.getNode(ISD::SUB, DL, VT, N0.getOperand(0), Add);
 3089       N1.getOperand(0).getScalarValueSizeInBits() == 1 &&
 3092     SDValue SExt = DAG.getNode(ISD::SIGN_EXTEND, DL, VT, N1.getOperand(0));
 3099       SDValue X0 = N0.getOperand(0), X1 = N0.getOperand(1);
 3099       SDValue X0 = N0.getOperand(0), X1 = N0.getOperand(1);
 3100       SDValue S0 = N1.getOperand(0);
 3103         if (ConstantSDNode *C = isConstOrConstSplat(N1.getOperand(1)))
 3127     VTSDNode *TN = cast<VTSDNode>(N1.getOperand(1));
 3129       SDValue ZExt = DAG.getNode(ISD::AND, DL, VT, N1.getOperand(0),
 3138     SDValue ShAmt = N1.getOperand(1);
 3142       SDValue SRA = DAG.getNode(ISD::SRA, DL, VT, N1.getOperand(0), ShAmt);
 3441       isConstantOrConstantVector(N0.getOperand(1), /* NoOpaques */ true)) {
 3442     SDValue C3 = DAG.getNode(ISD::SHL, SDLoc(N), VT, N1, N0.getOperand(1));
 3444       return DAG.getNode(ISD::MUL, SDLoc(N), VT, N0.getOperand(0), C3);
 3454         isConstantOrConstantVector(N0.getOperand(1)) &&
 3458                isConstantOrConstantVector(N1.getOperand(1)) &&
 3464       SDValue Mul = DAG.getNode(ISD::MUL, SDLoc(N), VT, Sh.getOperand(0), Y);
 3465       return DAG.getNode(ISD::SHL, SDLoc(N), VT, Mul, Sh.getOperand(1));
 3472       DAG.isConstantIntBuildVectorOrConstantInt(N0.getOperand(1)) &&
 3476                                      N0.getOperand(0), N1),
 3478                                      N0.getOperand(1), N1));
 3842     SDValue N10 = N1.getOperand(0);
 3848       EVT ADDVT = N1.getOperand(1).getValueType();
 3851       SDValue Add = DAG.getNode(ISD::ADD, DL, ADDVT, N1.getOperand(1), Trunc);
 3909         DAG.isKnownToBeAPowerOfTwo(N1.getOperand(0))) {
 4266   SDValue X = N0.getOperand(0);
 4267   SDValue Y = N1.getOperand(0);
 4320       N0.getOperand(1) == N1.getOperand(1)) {
 4320       N0.getOperand(1) == N1.getOperand(1)) {
 4325     return DAG.getNode(HandOpcode, DL, VT, Logic, N0.getOperand(1));
 4383     SDValue ShOp = N0.getOperand(1);
 4388     if (N0.getOperand(1) == N1.getOperand(1) && ShOp.getNode()) {
 4388     if (N0.getOperand(1) == N1.getOperand(1) && ShOp.getNode()) {
 4390                                   N0.getOperand(0), N1.getOperand(0));
 4390                                   N0.getOperand(0), N1.getOperand(0));
 4396     ShOp = N0.getOperand(0);
 4401     if (N0.getOperand(0) == N1.getOperand(0) && ShOp.getNode()) {
 4401     if (N0.getOperand(0) == N1.getOperand(0) && ShOp.getNode()) {
 4402       SDValue Logic = DAG.getNode(LogicOpcode, DL, VT, N0.getOperand(1),
 4403                                   N1.getOperand(1));
 4575     if (ConstantSDNode *ADDI = dyn_cast<ConstantSDNode>(N0.getOperand(1))) {
 4576       if (ConstantSDNode *SRLI = dyn_cast<ConstantSDNode>(N1.getOperand(1))) {
 4588           if (DAG.MaskedValueIsZero(N0.getOperand(1), Mask)) {
 4594                             N0.getOperand(0), DAG.getConstant(ADDC, DL, VT));
 4610       if (ConstantSDNode *CShift = dyn_cast<ConstantSDNode>(N0.getOperand(1))) {
 4642                                       N0.getOperand(0));
 4817         cast<VTSDNode>(Op.getOperand(1))->getVT() :
 4818         Op.getOperand(0).getValueType();
 4997     Not = Not.getOperand(0);
 5004   SDValue Srl = Not.getOperand(0);
 5006     Srl = Srl.getOperand(0);
 5010       !isa<ConstantSDNode>(Srl.getOperand(1)))
 5024   SDValue X = DAG.getZExtOrTrunc(Srl.getOperand(0), DL, VT);
 5100       ISD::matchBinaryPredicate(N0.getOperand(1), N1, MatchSubset))
 5104     SDValue N0Op0 = N0.getOperand(0);
 5129        N0.getValueSizeInBits() == N0.getOperand(0).getScalarValueSizeInBits() &&
 5130        N0.getOperand(0).getOpcode() == ISD::LOAD &&
 5131        N0.getOperand(0).getResNo() == 0) ||
 5134                                          N0 : N0.getOperand(0) );
 5231                                  N0.getOperand(0).getOpcode() == ISD::LOAD))) {
 5234         ? cast<LoadSDNode>(N0.getOperand(0)) : cast<LoadSDNode>(N0);
 5267     if (isNullOrNullSplat(N0.getOperand(0))) {
 5268       SDValue SubRHS = N0.getOperand(1);
 5270           SubRHS.getOperand(0).getScalarValueSizeInBits() == 1)
 5273           SubRHS.getOperand(0).getScalarValueSizeInBits() == 1)
 5274         return DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N), VT, SubRHS.getOperand(0));
 5309     if (SDValue BSwap = MatchBSwapHWordLow(N0.getNode(), N0.getOperand(0),
 5310                                            N0.getOperand(1), false))
 5339   if (N0.getOpcode() == ISD::AND && N0.getOperand(0).getOpcode() == ISD::SRL)
 5341   if (N1.getOpcode() == ISD::AND && N1.getOperand(0).getOpcode() == ISD::SHL)
 5346     ConstantSDNode *N01C = dyn_cast<ConstantSDNode>(N0.getOperand(1));
 5352     N0 = N0.getOperand(0);
 5359     ConstantSDNode *N11C = dyn_cast<ConstantSDNode>(N1.getOperand(1));
 5362     N1 = N1.getOperand(0);
 5373   ConstantSDNode *N01C = dyn_cast<ConstantSDNode>(N0.getOperand(1));
 5374   ConstantSDNode *N11C = dyn_cast<ConstantSDNode>(N1.getOperand(1));
 5385     ConstantSDNode *N001C = dyn_cast<ConstantSDNode>(N00.getOperand(1));
 5388     N00 = N00.getOperand(0);
 5396     ConstantSDNode *N101C = dyn_cast<ConstantSDNode>(N10.getOperand(1));
 5402     N10 = N10.getOperand(0);
 5451   SDValue N0 = N.getOperand(0);
 5459     N1C = dyn_cast<ConstantSDNode>(N.getOperand(1));
 5461     N1C = dyn_cast<ConstantSDNode>(N0.getOperand(1));
 5490       ConstantSDNode *C = dyn_cast<ConstantSDNode>(N0.getOperand(1));
 5498       ConstantSDNode *C = dyn_cast<ConstantSDNode>(N0.getOperand(1));
 5507     ConstantSDNode *C = dyn_cast<ConstantSDNode>(N.getOperand(1));
 5515     ConstantSDNode *C = dyn_cast<ConstantSDNode>(N.getOperand(1));
 5523   Parts[MaskByteOffset] = N0.getOperand(0).getNode();
 5530     return isBSwapHWordElement(N.getOperand(0), Parts) &&
 5531            isBSwapHWordElement(N.getOperand(1), Parts);
 5533   if (N.getOpcode() == ISD::SRL && N.getOperand(0).getOpcode() == ISD::BSWAP) {
 5534     ConstantSDNode *C = isConstOrConstSplat(N.getOperand(1));
 5537     Parts[0] = Parts[1] = N.getOperand(0).getOperand(0).getNode();
 5537     Parts[0] = Parts[1] = N.getOperand(0).getOperand(0).getNode();
 5574     SDValue N00 = N0.getOperand(0);
 5575     SDValue N01 = N0.getOperand(1);
 5622         getAsNonOpaqueConstant(N0.getOperand(1))) {
 5624           getAsNonOpaqueConstant(N1.getOperand(1))) {
 5630         if (DAG.MaskedValueIsZero(N0.getOperand(0), RHSMask&~LHSMask) &&
 5631             DAG.MaskedValueIsZero(N1.getOperand(0), LHSMask&~RHSMask)) {
 5633                                   N0.getOperand(0), N1.getOperand(0));
 5633                                   N0.getOperand(0), N1.getOperand(0));
 5644       N0.getOperand(0) == N1.getOperand(0) &&
 5644       N0.getOperand(0) == N1.getOperand(0) &&
 5648                             N0.getOperand(1), N1.getOperand(1));
 5648                             N0.getOperand(1), N1.getOperand(1));
 5649     return DAG.getNode(ISD::AND, DL, VT, N0.getOperand(0), X);
 5661     if (isBitwiseNot(N0.getOperand(1)) && N0.getOperand(1).getOperand(0) == N1)
 5661     if (isBitwiseNot(N0.getOperand(1)) && N0.getOperand(1).getOperand(0) == N1)
 5661     if (isBitwiseNot(N0.getOperand(1)) && N0.getOperand(1).getOperand(0) == N1)
 5662       return DAG.getNode(ISD::OR, SDLoc(N), VT, N0.getOperand(0), N1);
 5665     if (isBitwiseNot(N0.getOperand(0)) && N0.getOperand(0).getOperand(0) == N1)
 5665     if (isBitwiseNot(N0.getOperand(0)) && N0.getOperand(0).getOperand(0) == N1)
 5665     if (isBitwiseNot(N0.getOperand(0)) && N0.getOperand(0).getOperand(0) == N1)
 5666       return DAG.getNode(ISD::OR, SDLoc(N), VT, N0.getOperand(1), N1);
 5706       bool ZeroN00 = ISD::isBuildVectorAllZeros(N0.getOperand(0).getNode());
 5707       bool ZeroN01 = ISD::isBuildVectorAllZeros(N0.getOperand(1).getNode());
 5708       bool ZeroN10 = ISD::isBuildVectorAllZeros(N1.getOperand(0).getNode());
 5709       bool ZeroN11 = ISD::isBuildVectorAllZeros(N1.getOperand(1).getNode());
 5751           SDValue NewLHS = ZeroN00 ? N0.getOperand(1) : N0.getOperand(0);
 5751           SDValue NewLHS = ZeroN00 ? N0.getOperand(1) : N0.getOperand(0);
 5752           SDValue NewRHS = ZeroN10 ? N1.getOperand(1) : N1.getOperand(0);
 5752           SDValue NewRHS = ZeroN10 ? N1.getOperand(1) : N1.getOperand(0);
 5806       ISD::matchBinaryPredicate(N0.getOperand(1), N1, MatchIntersect, true)) {
 5808             ISD::OR, SDLoc(N1), VT, N1.getNode(), N0.getOperand(1).getNode())) {
 5809       SDValue IOR = DAG.getNode(ISD::OR, SDLoc(N0), VT, N0.getOperand(0), N1);
 5847       DAG.isConstantIntBuildVectorOrConstantInt(Op.getOperand(1))) {
 5848     Mask = Op.getOperand(1);
 5849     return Op.getOperand(0);
 5900   SDValue OppShiftLHS = OppShift.getOperand(0);
 5904   ConstantSDNode *OppShiftCst = isConstOrConstSplat(OppShift.getOperand(1));
 5909       ExtractFrom.getOperand(0) == ExtractFrom.getOperand(1) &&
 5909       ExtractFrom.getOperand(0) == ExtractFrom.getOperand(1) &&
 5910       ExtractFrom.getOperand(0) == OppShiftLHS &&
 5939       OppShiftLHS.getOperand(0) != ExtractFrom.getOperand(0) ||
 5939       OppShiftLHS.getOperand(0) != ExtractFrom.getOperand(0) ||
 5944   ConstantSDNode *OppLHSCst = isConstOrConstSplat(OppShiftLHS.getOperand(1));
 5947       isConstOrConstSplat(ExtractFrom.getOperand(1));
 5989   EVT ShiftVT = OppShift.getOperand(1).getValueType();
 6039     if (ConstantSDNode *NegC = isConstOrConstSplat(Neg.getOperand(1))) {
 6040       KnownBits Known = DAG.computeKnownBits(Neg.getOperand(0));
 6044         Neg = Neg.getOperand(0);
 6053   ConstantSDNode *NegC = isConstOrConstSplat(Neg.getOperand(0));
 6056   SDValue NegOp1 = Neg.getOperand(1);
 6061     if (ConstantSDNode *PosC = isConstOrConstSplat(Pos.getOperand(1))) {
 6062       KnownBits Known = DAG.computeKnownBits(Pos.getOperand(0));
 6066         Pos = Pos.getOperand(0);
 6092   else if (Pos.getOpcode() == ISD::ADD && Pos.getOperand(0) == NegOp1) {
 6093     if (ConstantSDNode *PosC = isConstOrConstSplat(Pos.getOperand(1)))
 6150       LHS.getOperand(0).getValueType() == RHS.getOperand(0).getValueType()) {
 6150       LHS.getOperand(0).getValueType() == RHS.getOperand(0).getValueType()) {
 6152     if (SDValue Rot = MatchRotate(LHS.getOperand(0), RHS.getOperand(0), DL)) {
 6152     if (SDValue Rot = MatchRotate(LHS.getOperand(0), RHS.getOperand(0), DL)) {
 6195   if (LHSShift.getOperand(0) != RHSShift.getOperand(0))
 6195   if (LHSShift.getOperand(0) != RHSShift.getOperand(0))
 6209   SDValue LHSShiftArg = LHSShift.getOperand(0);
 6210   SDValue LHSShiftAmt = LHSShift.getOperand(1);
 6211   SDValue RHSShiftArg = RHSShift.getOperand(0);
 6212   SDValue RHSShiftAmt = RHSShift.getOperand(1);
 6262     LExtOp0 = LHSShiftAmt.getOperand(0);
 6263     RExtOp0 = RHSShiftAmt.getOperand(0);
 6448     return stripTruncAndExt(Value.getOperand(0));
 6515     SDValue Value = Trunc.getOperand(0);
 6519         dyn_cast<ConstantSDNode>(Value.getOperand(1));
 6530      Value = Value.getOperand(0);
 6802     SDValue Xor = And.getOperand(XorIdx);
 6805     SDValue Xor0 = Xor.getOperand(0);
 6806     SDValue Xor1 = Xor.getOperand(1);
 6816     M = And.getOperand(XorIdx ? 0 : 1);
 6916         return DAG.getSelectCC(SDLoc(N0), LHS, RHS, N0.getOperand(2),
 6917                                N0.getOperand(3), NotCC);
 6924       isSetCCEquivalent(N0.getOperand(0), LHS, RHS, CC)){
 6925     SDValue V = N0.getOperand(0);
 6936     SDValue N00 = N0.getOperand(0), N01 = N0.getOperand(1);
 6936     SDValue N00 = N0.getOperand(0), N01 = N0.getOperand(1);
 6948     SDValue N00 = N0.getOperand(0), N01 = N0.getOperand(1);
 6948     SDValue N00 = N0.getOperand(0), N01 = N0.getOperand(1);
 6962       isNullConstant(N0.getOperand(0))) {
 6963     return DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(1),
 6969     SDValue X = N0.getOperand(0);
 6977     ConstantSDNode *ShiftC = isConstOrConstSplat(N0.getOperand(1));
 6990           SDValue Not = DAG.getNOT(DL, N0.getOperand(0), VT);
 6991           return DAG.getNode(N0Opcode, DL, VT, Not, N0.getOperand(1));
 7002       SDValue A0 = A.getOperand(0), A1 = A.getOperand(1);
 7002       SDValue A0 = A.getOperand(0), A1 = A.getOperand(1);
 7003       SDValue S0 = S.getOperand(0);
 7006         if (ConstantSDNode *C = isConstOrConstSplat(S.getOperand(1)))
 7036       isAllOnesConstant(N1) && isOneConstant(N0.getOperand(0))) {
 7038                        N0.getOperand(1));
 7083     ConstantSDNode *ShiftCNode = isConstOrConstSplat(V.getOperand(1));
 7088     ShiftOp = V.getOperand(0);
 7106   if (matchFirstShift(LogicOp.getOperand(0), X, C0Val))
 7107     Y = LogicOp.getOperand(1);
 7108   else if (matchFirstShift(LogicOp.getOperand(1), X, C0Val))
 7109     Y = LogicOp.getOperand(0);
 7167   ConstantSDNode *BinOpCst = getAsNonOpaqueConstant(LHS.getOperand(1));
 7174   SDValue BinOpLHSVal = LHS.getOperand(0);
 7178                            isa<ConstantSDNode>(BinOpLHSVal.getOperand(1));
 7191   SDValue NewRHS = DAG.getNode(N->getOpcode(), DL, VT, LHS.getOperand(1),
 7195   SDValue NewShift = DAG.getNode(N->getOpcode(), DL, VT, LHS.getOperand(0),
 7208     SDValue N01 = N->getOperand(0).getOperand(1);
 7211       SDValue N00 = N->getOperand(0).getOperand(0);
 7253       N1.getOperand(0).getOpcode() == ISD::AND) {
 7262     SDNode *C2 = DAG.isConstantIntBuildVectorOrConstantInt(N0.getOperand(1));
 7306             TLI.getBooleanContents(N00.getOperand(0).getValueType()) ==
 7334       N1.getOperand(0).getOpcode() == ISD::AND) {
 7352     if (ISD::matchBinaryPredicate(N1, N0.getOperand(1), MatchOutOfRange))
 7362     if (ISD::matchBinaryPredicate(N1, N0.getOperand(1), MatchInRange)) {
 7364       SDValue Sum = DAG.getNode(ISD::ADD, DL, ShiftVT, N1, N0.getOperand(1));
 7365       return DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Sum);
 7377       N0.getOperand(0).getOpcode() == ISD::SHL) {
 7378     SDValue N0Op0 = N0.getOperand(0);
 7379     SDValue InnerShiftAmt = N0Op0.getOperand(1);
 7408       SDValue Ext = DAG.getNode(N0.getOpcode(), DL, VT, N0Op0.getOperand(0));
 7419       N0.getOperand(0).getOpcode() == ISD::SRL) {
 7420     SDValue N0Op0 = N0.getOperand(0);
 7421     SDValue InnerShiftAmt = N0Op0.getOperand(1);
 7433       EVT InnerShiftAmtVT = N0Op0.getOperand(1).getValueType();
 7446     if (ConstantSDNode *N0C1 = isConstOrConstSplat(N0.getOperand(1))) {
 7451         return DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0),
 7453       return DAG.getNode(N0.getOpcode(), DL, VT, N0.getOperand(0),
 7466     if (ConstantSDNode *N0C1 = isConstOrConstSplat(N0.getOperand(1))) {
 7475           Shift = DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0),
 7480           Shift = DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0),
 7491   if (N0.getOpcode() == ISD::SRA && N1 == N0.getOperand(1) &&
 7496     return DAG.getNode(ISD::AND, DL, VT, N0.getOperand(0), HiBitsMask);
 7506       isConstantOrConstantVector(N0.getOperand(1), /* No Opaques */ true) &&
 7508     SDValue Shl0 = DAG.getNode(ISD::SHL, SDLoc(N0), VT, N0.getOperand(0), N1);
 7509     SDValue Shl1 = DAG.getNode(ISD::SHL, SDLoc(N1), VT, N0.getOperand(1), N1);
 7518       isConstantOrConstantVector(N0.getOperand(1), /* No Opaques */ true)) {
 7519     SDValue Shl = DAG.getNode(ISD::SHL, SDLoc(N1), VT, N0.getOperand(1), N1);
 7521       return DAG.getNode(ISD::MUL, SDLoc(N), VT, N0.getOperand(0), Shl);
 7564   if (N1C && N0.getOpcode() == ISD::SHL && N1 == N0.getOperand(1)) {
 7573                          N0.getOperand(0), DAG.getValueType(ExtVT));
 7594     if (ISD::matchBinaryPredicate(N1, N0.getOperand(1), SumOfShifts)) {
 7600       return DAG.getNode(ISD::SRA, DL, VT, N0.getOperand(0), ShiftValue);
 7611     const ConstantSDNode *N01C = isConstOrConstSplat(N0.getOperand(1));
 7633             getShiftAmountTy(N0.getOperand(0).getValueType()));
 7635                                     N0.getOperand(0), Amt);
 7648       N0.getOperand(0).getOpcode() == ISD::SHL &&
 7649       N0.getOperand(0).getOperand(1) == N1 && N0.getOperand(0).hasOneUse()) {
 7649       N0.getOperand(0).getOperand(1) == N1 && N0.getOperand(0).hasOneUse()) {
 7649       N0.getOperand(0).getOperand(1) == N1 && N0.getOperand(0).hasOneUse()) {
 7650     if (ConstantSDNode *AddC = isConstOrConstSplat(N0.getOperand(1))) {
 7651       SDValue Shl = N0.getOperand(0);
 7666         SDValue Trunc = DAG.getZExtOrTrunc(Shl.getOperand(0), DL, TruncVT);
 7677       N1.getOperand(0).getOpcode() == ISD::AND) {
 7687       (N0.getOperand(0).getOpcode() == ISD::SRL ||
 7688        N0.getOperand(0).getOpcode() == ISD::SRA) &&
 7689       N0.getOperand(0).hasOneUse() &&
 7690       N0.getOperand(0).getOperand(1).hasOneUse() && N1C) {
 7690       N0.getOperand(0).getOperand(1).hasOneUse() && N1C) {
 7691     SDValue N0Op0 = N0.getOperand(0);
 7692     if (ConstantSDNode *LargeShift = isConstOrConstSplat(N0Op0.getOperand(1))) {
 7700             DAG.getNode(ISD::SRA, DL, LargeVT, N0Op0.getOperand(0), Amt);
 7761     if (ISD::matchBinaryPredicate(N1, N0.getOperand(1), MatchOutOfRange))
 7771     if (ISD::matchBinaryPredicate(N1, N0.getOperand(1), MatchInRange)) {
 7774       SDValue Sum = DAG.getNode(ISD::ADD, DL, ShiftVT, N1, N0.getOperand(1));
 7775       return DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0), Sum);
 7782       N0.getOperand(0).getOpcode() == ISD::SRL) {
 7783     if (auto N001C = isConstOrConstSplat(N0.getOperand(0).getOperand(1))) {
 7783     if (auto N001C = isConstOrConstSplat(N0.getOperand(0).getOperand(1))) {
 7786       EVT InnerShiftVT = N0.getOperand(0).getValueType();
 7787       EVT ShiftCountVT = N0.getOperand(0).getOperand(1).getValueType();
 7787       EVT ShiftCountVT = N0.getOperand(0).getOperand(1).getValueType();
 7796                                        N0.getOperand(0).getOperand(0),
 7796                                        N0.getOperand(0).getOperand(0),
 7805   if (N0.getOpcode() == ISD::SHL && N0.getOperand(1) == N1 &&
 7811     return DAG.getNode(ISD::AND, DL, VT, N0.getOperand(0), Mask);
 7818     EVT SmallVT = N0.getOperand(0).getValueType();
 7827                                        N0.getOperand(0),
 7843       return DAG.getNode(ISD::SRL, SDLoc(N), VT, N0.getOperand(0), N1);
 7849     KnownBits Known = DAG.computeKnownBits(N0.getOperand(0));
 7867       SDValue Op = N0.getOperand(0);
 7885       N1.getOperand(0).getOpcode() == ISD::AND) {
 8049     return N0.getOperand(0);
 8189       VT != Cond.getOperand(0).getValueType())
 8194   SDValue X = Cond.getOperand(0);
 8195   SDValue CondC = Cond.getOperand(1);
 8196   ISD::CondCode CC = cast<CondCodeSDNode>(Cond.getOperand(2))->get();
 8451     SDValue Cond0 = N0.getOperand(0), Cond1 = N0.getOperand(1);
 8451     SDValue Cond0 = N0.getOperand(0), Cond1 = N0.getOperand(1);
 8452     ISD::CondCode CC = cast<CondCodeSDNode>(N0.getOperand(2))->get();
 8470         N2.getOpcode() == ISD::ADD && Cond0 == N2.getOperand(0)) {
 8471       auto *C = dyn_cast<ConstantSDNode>(N2.getOperand(1));
 8487         SDValue UAO = DAG.getNode(ISD::UADDO, DL, VTs, Cond0, N2.getOperand(1));
 8499                                        N2, N0.getOperand(2));
 8539       BottomHalf = cast<ConstantSDNode>(Cond.getOperand(i));
 8551       TopHalf = cast<ConstantSDNode>(Cond.getOperand(i));
 8635     SDValue N1Elt = N1.getOperand(i);
 8636     SDValue N2Elt = N2.getOperand(i);
 8698     SDValue LHS = N0.getOperand(0), RHS = N0.getOperand(1);
 8698     SDValue LHS = N0.getOperand(0), RHS = N0.getOperand(1);
 8699     ISD::CondCode CC = cast<CondCodeSDNode>(N0.getOperand(2))->get();
 8705         N1 == LHS && N2.getOpcode() == ISD::SUB && N1 == N2.getOperand(1))
 8706       isAbs = ISD::isBuildVectorAllZeros(N2.getOperand(0).getNode());
 8708              N2 == LHS && N1.getOpcode() == ISD::SUB && N2 == N1.getOperand(1))
 8709       isAbs = ISD::isBuildVectorAllZeros(N1.getOperand(0).getNode());
 8822           ISD::SELECT_CC, SDLoc(N), N2.getValueType(), SCC.getOperand(0),
 8823           SCC.getOperand(1), N2, N3, SCC.getOperand(2));
 8823           SCC.getOperand(1), N2, N3, SCC.getOperand(2));
 8950     SDValue Op = N0.getOperand(i);
 9167       N0.getOperand(1).getOpcode() != ISD::Constant ||
 9174       N1.getOperand(1).getOpcode() != ISD::Constant ||
 9179   if (!isa<LoadSDNode>(N1.getOperand(0)))
 9181   LoadSDNode *Load = cast<LoadSDNode>(N1.getOperand(0));
 9197   if (!ExtendUsesToFormExtLoad(VT, N1.getNode(), N1.getOperand(0),
 9208                               N1.getOperand(1));
 9210   APInt Mask = cast<ConstantSDNode>(N0.getOperand(1))->getAPIntValue();
 9216   ExtendSetCCUses(SetCCs, N1.getOperand(0), ExtLoad, ISD::ZERO_EXTEND);
 9252       VSel.getOperand(0).getOpcode() != ISD::SETCC)
 9256   SDValue SetCC = VSel.getOperand(0);
 9257   EVT SetCCVT = getSetCCResultType(SetCC.getOperand(0).getValueType());
 9262   SDValue A = VSel.getOperand(1);
 9263   SDValue B = VSel.getOperand(2);
 9389   SDValue X = SetCC.getOperand(0);
 9390   SDValue Ones = SetCC.getOperand(1);
 9391   ISD::CondCode CC = cast<CondCodeSDNode>(SetCC.getOperand(2))->get();
 9421     return DAG.getNode(ISD::SIGN_EXTEND, DL, VT, N0.getOperand(0));
 9427       SDNode *oye = N0.getOperand(0).getNode();
 9438     SDValue Op = N0.getOperand(0);
 9498       isa<LoadSDNode>(N0.getOperand(0)) &&
 9499       N0.getOperand(1).getOpcode() == ISD::Constant &&
 9501     LoadSDNode *LN00 = cast<LoadSDNode>(N0.getOperand(0));
 9506       bool DoXform = ExtendUsesToFormExtLoad(VT, N0.getNode(), N0.getOperand(0),
 9513         APInt Mask = cast<ConstantSDNode>(N0.getOperand(1))->getAPIntValue();
 9517         ExtendSetCCUses(SetCCs, N0.getOperand(0), ExtLoad, ISD::SIGN_EXTEND);
 9543     SDValue N00 = N0.getOperand(0);
 9544     SDValue N01 = N0.getOperand(1);
 9545     ISD::CondCode CC = cast<CondCodeSDNode>(N0.getOperand(2))->get();
 9546     EVT N00VT = N0.getOperand(0).getValueType();
 9624       isNullOrNullSplat(N0.getOperand(0)) &&
 9625       N0.getOperand(1).getOpcode() == ISD::ZERO_EXTEND &&
 9627     SDValue Zext = DAG.getZExtOrTrunc(N0.getOperand(1).getOperand(0), DL, VT);
 9627     SDValue Zext = DAG.getZExtOrTrunc(N0.getOperand(1).getOperand(0), DL, VT);
 9633       isAllOnesOrAllOnesSplat(N0.getOperand(1)) &&
 9634       N0.getOperand(0).getOpcode() == ISD::ZERO_EXTEND &&
 9636     SDValue Zext = DAG.getZExtOrTrunc(N0.getOperand(0).getOperand(0), DL, VT);
 9636     SDValue Zext = DAG.getZExtOrTrunc(N0.getOperand(0).getOperand(0), DL, VT);
 9657       cast<CondCodeSDNode>(N.getOperand(2))->get() != ISD::SETNE)
 9695   SDValue NewZext = DAG.getZExtOrTrunc(CtPop.getOperand(0), DL, VT);
 9710                        N0.getOperand(0));
 9734       SDNode *oye = N0.getOperand(0).getNode();
 9743     EVT SrcVT = N0.getOperand(0).getValueType();
 9751         SDValue Op = N0.getOperand(0);
 9762       SDValue Op = DAG.getAnyExtOrTrunc(N0.getOperand(0), SDLoc(N), VT);
 9775       N0.getOperand(0).getOpcode() == ISD::TRUNCATE &&
 9776       N0.getOperand(1).getOpcode() == ISD::Constant &&
 9777       (!TLI.isTruncateFree(N0.getOperand(0).getOperand(0).getValueType(),
 9777       (!TLI.isTruncateFree(N0.getOperand(0).getOperand(0).getValueType(),
 9780     SDValue X = N0.getOperand(0).getOperand(0);
 9780     SDValue X = N0.getOperand(0).getOperand(0);
 9782     APInt Mask = cast<ConstantSDNode>(N0.getOperand(1))->getAPIntValue();
 9811       isa<LoadSDNode>(N0.getOperand(0)) &&
 9812       N0.getOperand(1).getOpcode() == ISD::Constant &&
 9814     LoadSDNode *LN00 = cast<LoadSDNode>(N0.getOperand(0));
 9822           auto *AndC = cast<ConstantSDNode>(N0.getOperand(1));
 9830         DoXform = ExtendUsesToFormExtLoad(VT, N0.getNode(), N0.getOperand(0),
 9837         APInt Mask = cast<ConstantSDNode>(N0.getOperand(1))->getAPIntValue();
 9842         ExtendSetCCUses(SetCCs, N0.getOperand(0), ExtLoad, ISD::ZERO_EXTEND);
 9881       EVT N00VT = N0.getOperand(0).getValueType();
 9894         SDValue VSetCC = DAG.getNode(ISD::SETCC, DL, VT, N0.getOperand(0),
 9895                                      N0.getOperand(1), N0.getOperand(2));
 9895                                      N0.getOperand(1), N0.getOperand(2));
 9904           DAG.getNode(ISD::SETCC, DL, MatchingVectorType, N0.getOperand(0),
 9905                       N0.getOperand(1), N0.getOperand(2));
 9905                       N0.getOperand(1), N0.getOperand(2));
 9913             DL, N0.getOperand(0), N0.getOperand(1), DAG.getConstant(1, DL, VT),
 9913             DL, N0.getOperand(0), N0.getOperand(1), DAG.getConstant(1, DL, VT),
 9915             cast<CondCodeSDNode>(N0.getOperand(2))->get(), true))
 9921       isa<ConstantSDNode>(N0.getOperand(1)) &&
 9922       N0.getOperand(0).getOpcode() == ISD::ZERO_EXTEND &&
 9924     SDValue ShAmt = N0.getOperand(1);
 9926       SDValue InnerZExt = N0.getOperand(0);
 9930         InnerZExt.getOperand(0).getValueSizeInBits();
 9942                        DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0)),
 9968     return DAG.getNode(N0.getOpcode(), SDLoc(N), VT, N0.getOperand(0));
 9974       SDNode *oye = N0.getOperand(0).getNode();
 9986     return DAG.getAnyExtOrTrunc(N0.getOperand(0), SDLoc(N), VT);
 9991       N0.getOperand(0).getOpcode() == ISD::TRUNCATE &&
 9992       N0.getOperand(1).getOpcode() == ISD::Constant &&
 9993       !TLI.isTruncateFree(N0.getOperand(0).getOperand(0).getValueType(),
 9993       !TLI.isTruncateFree(N0.getOperand(0).getOperand(0).getValueType(),
 9996     SDValue X = N0.getOperand(0).getOperand(0);
 9996     SDValue X = N0.getOperand(0).getOperand(0);
 9998     APInt Mask = cast<ConstantSDNode>(N0.getOperand(1))->getAPIntValue();
10064       EVT N00VT = N0.getOperand(0).getValueType();
10074         return DAG.getSetCC(SDLoc(N), VT, N0.getOperand(0),
10075                              N0.getOperand(1),
10076                              cast<CondCodeSDNode>(N0.getOperand(2))->get());
10083         DAG.getSetCC(SDLoc(N), MatchingVectorType, N0.getOperand(0),
10084                       N0.getOperand(1),
10085                       cast<CondCodeSDNode>(N0.getOperand(2))->get());
10092             DL, N0.getOperand(0), N0.getOperand(1), DAG.getConstant(1, DL, VT),
10092             DL, N0.getOperand(0), N0.getOperand(1), DAG.getConstant(1, DL, VT),
10094             cast<CondCodeSDNode>(N0.getOperand(2))->get(), true))
10112       AssertVT == cast<VTSDNode>(N0.getOperand(1))->getVT())
10116       N0.getOperand(0).getOpcode() == Opcode) {
10122     SDValue BigA = N0.getOperand(0);
10123     EVT BigA_AssertVT = cast<VTSDNode>(BigA.getOperand(1))->getVT();
10132                                     BigA.getOperand(0), MinAssertVTVal);
10140       N0.getOperand(0).getOpcode() == ISD::AssertSext &&
10142     SDValue BigA = N0.getOperand(0);
10143     EVT BigA_AssertVT = cast<VTSDNode>(BigA.getOperand(1))->getVT();
10151                                       BigA.getOperand(0), N1);
10191     auto *LN0 = dyn_cast<LoadSDNode>(N0.getOperand(0));
10192     auto *N01 = dyn_cast<ConstantSDNode>(N0.getOperand(1));
10227     if (auto *ConstShift = dyn_cast<ConstantSDNode>(SRL.getOperand(1))) {
10232         N0 = N0.getOperand(0);
10279     if (ConstantSDNode *N01 = dyn_cast<ConstantSDNode>(N0.getOperand(1))) {
10281       N0 = N0.getOperand(0);
10307   EVT PtrType = N0.getOperand(1).getValueType();
10392       EVT.bitsLT(cast<VTSDNode>(N0.getOperand(1))->getVT()))
10394                        N0.getOperand(0), N1);
10401     SDValue N00 = N0.getOperand(0);
10413       N0.getOperand(0).getScalarValueSizeInBits() == EVTBits) {
10417                          N0.getOperand(0));
10423     SDValue N00 = N0.getOperand(0);
10447     if (auto *ShAmt = dyn_cast<ConstantSDNode>(N0.getOperand(1)))
10451         unsigned InSignBits = DAG.ComputeNumSignBits(N0.getOperand(0));
10453           return DAG.getNode(ISD::SRA, SDLoc(N), VT, N0.getOperand(0),
10454                              N0.getOperand(1));
10496     if (SDValue BSwap = MatchBSwapHWordLow(N0.getNode(), N0.getOperand(0),
10497                                            N0.getOperand(1), false))
10549     return DAG.getNode(ISD::TRUNCATE, SDLoc(N), VT, N0.getOperand(0));
10563     if (N0.getOperand(0).getValueType().bitsLT(VT))
10564       return DAG.getNode(N0.getOpcode(), SDLoc(N), VT, N0.getOperand(0));
10566     if (N0.getOperand(0).getValueType().bitsGT(VT))
10567       return DAG.getNode(ISD::TRUNCATE, SDLoc(N), VT, N0.getOperand(0));
10570     return N0.getOperand(0);
10589     EVT VecTy = N0.getOperand(0).getValueType();
10607                          DAG.getBitcast(NVT, N0.getOperand(0)),
10617       SDValue Cond = N0.getOperand(0);
10618       SDValue TruncOp0 = DAG.getNode(ISD::TRUNCATE, SL, VT, N0.getOperand(1));
10619       SDValue TruncOp1 = DAG.getNode(ISD::TRUNCATE, SL, VT, N0.getOperand(2));
10628     SDValue Amt = N0.getOperand(1);
10635       SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SL, VT, N0.getOperand(0));
10663       N0.getOperand(0).getOpcode() == ISD::BUILD_VECTOR &&
10664       N0.getOperand(0).hasOneUse()) {
10665     SDValue BuildVect = N0.getOperand(0);
10681         Opnds.push_back(BuildVect.getOperand(i));
10730       SDValue X = N0.getOperand(i);
10768     SDValue VecSrc = N0.getOperand(0);
10796     auto X = DAG.getNode(ISD::TRUNCATE, SL, VT, N0.getOperand(0));
10797     auto Y = DAG.getNode(ISD::TRUNCATE, SL, VT, N0.getOperand(1));
10799     return DAG.getNode(N0.getOpcode(), SL, VTs, X, Y, N0.getOperand(2));
10807     SDValue N00 = N0.getOperand(0);
10811       if (N00.getOperand(0)->getValueType(0).getVectorElementType() ==
10814                            N00.getOperand(0), N0.getOperand(1));
10814                            N00.getOperand(0), N0.getOperand(1));
10833         (isConstantOrConstantVector(N0.getOperand(0), true) ||
10834          isConstantOrConstantVector(N0.getOperand(1), true))) {
10840         SDValue NarrowL = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(0));
10841         SDValue NarrowR = DAG.getNode(ISD::TRUNCATE, DL, VT, N0.getOperand(1));
10854   return Elt.getOperand(Elt.getResNo()).getNode();
10935   SDValue LogicOp0 = N0.getOperand(0);
10936   ConstantSDNode *LogicOp1 = isConstOrConstSplat(N0.getOperand(1), true);
10939       LogicOp0.getOperand(0).getValueType() == VT) {
10940     SDValue FPOp = DAG.getNode(FPOpcode, SDLoc(N), VT, LogicOp0.getOperand(0));
10990     return DAG.getBitcast(VT, N0.getOperand(0));
11037     SDValue NewConv = DAG.getBitcast(VT, N0.getOperand(0));
11085       isa<ConstantFPSDNode>(N0.getOperand(0)) &&
11087     unsigned OrigXWidth = N0.getOperand(1).getValueSizeInBits();
11090       SDValue X = DAG.getBitcast(IntXVT, N0.getOperand(1));
11113         SDValue Cst = DAG.getBitcast(VT, N0.getOperand(0));
11115         SDValue X = DAG.getBitcast(VT, N0.getOperand(1));
11138       SDValue Cst = DAG.getBitcast(VT, N0.getOperand(0));
11166           Op.getOperand(0).getValueType() == VT)
11167         return SDValue(Op.getOperand(0));
11377                        N0.getOperand(0), N0.getOperand(1), N1, Flags);
11377                        N0.getOperand(0), N0.getOperand(1), N1, Flags);
11384                        N1.getOperand(0), N1.getOperand(1), N0, Flags);
11384                        N1.getOperand(0), N1.getOperand(1), N0, Flags);
11391     SDValue N00 = N0.getOperand(0);
11396                                      N00.getOperand(0)),
11398                                      N00.getOperand(1)), N1, Flags);
11405     SDValue N10 = N1.getOperand(0);
11410                                      N10.getOperand(0)),
11412                                      N10.getOperand(1)), N0, Flags);
11421         N0.getOperand(2).getOpcode() == ISD::FMUL &&
11422         N0->hasOneUse() && N0.getOperand(2)->hasOneUse()) {
11424                          N0.getOperand(0), N0.getOperand(1),
11424                          N0.getOperand(0), N0.getOperand(1),
11426                                      N0.getOperand(2).getOperand(0),
11426                                      N0.getOperand(2).getOperand(0),
11427                                      N0.getOperand(2).getOperand(1),
11427                                      N0.getOperand(2).getOperand(1),
11434         N1.getOperand(2).getOpcode() == ISD::FMUL &&
11435         N1->hasOneUse() && N1.getOperand(2)->hasOneUse()) {
11437                          N1.getOperand(0), N1.getOperand(1),
11437                          N1.getOperand(0), N1.getOperand(1),
11439                                      N1.getOperand(2).getOperand(0),
11439                                      N1.getOperand(2).getOperand(0),
11440                                      N1.getOperand(2).getOperand(1),
11440                                      N1.getOperand(2).getOperand(1),
11457       SDValue N02 = N0.getOperand(2);
11459         SDValue N020 = N02.getOperand(0);
11462           return FoldFAddFMAFPExtFMul(N0.getOperand(0), N0.getOperand(1),
11462           return FoldFAddFMAFPExtFMul(N0.getOperand(0), N0.getOperand(1),
11463                                       N020.getOperand(0), N020.getOperand(1),
11463                                       N020.getOperand(0), N020.getOperand(1),
11486       SDValue N00 = N0.getOperand(0);
11488         SDValue N002 = N00.getOperand(2);
11491           return FoldFAddFPExtFMAFMul(N00.getOperand(0), N00.getOperand(1),
11491           return FoldFAddFPExtFMAFMul(N00.getOperand(0), N00.getOperand(1),
11492                                       N002.getOperand(0), N002.getOperand(1),
11492                                       N002.getOperand(0), N002.getOperand(1),
11501       SDValue N12 = N1.getOperand(2);
11503         SDValue N120 = N12.getOperand(0);
11506           return FoldFAddFMAFPExtFMul(N1.getOperand(0), N1.getOperand(1),
11506           return FoldFAddFMAFPExtFMul(N1.getOperand(0), N1.getOperand(1),
11507                                       N120.getOperand(0), N120.getOperand(1),
11507                                       N120.getOperand(0), N120.getOperand(1),
11519       SDValue N10 = N1.getOperand(0);
11521         SDValue N102 = N10.getOperand(2);
11524           return FoldFAddFPExtFMAFMul(N10.getOperand(0), N10.getOperand(1),
11524           return FoldFAddFPExtFMAFMul(N10.getOperand(0), N10.getOperand(1),
11525                                       N102.getOperand(0), N102.getOperand(1),
11525                                       N102.getOperand(0), N102.getOperand(1),
11583                        N0.getOperand(0), N0.getOperand(1),
11583                        N0.getOperand(0), N0.getOperand(1),
11592                                    N1.getOperand(0)),
11593                        N1.getOperand(1), N0, Flags);
11597   if (N0.getOpcode() == ISD::FNEG && isContractableFMUL(N0.getOperand(0)) &&
11598       (Aggressive || (N0->hasOneUse() && N0.getOperand(0).hasOneUse()))) {
11599     SDValue N00 = N0.getOperand(0).getOperand(0);
11599     SDValue N00 = N0.getOperand(0).getOperand(0);
11600     SDValue N01 = N0.getOperand(0).getOperand(1);
11600     SDValue N01 = N0.getOperand(0).getOperand(1);
11611     SDValue N00 = N0.getOperand(0);
11616                                      N00.getOperand(0)),
11618                                      N00.getOperand(1)),
11627     SDValue N10 = N1.getOperand(0);
11633                                                  N10.getOperand(0))),
11635                                      N10.getOperand(1)),
11647     SDValue N00 = N0.getOperand(0);
11649       SDValue N000 = N00.getOperand(0);
11655                                                    N000.getOperand(0)),
11657                                                    N000.getOperand(1)),
11670     SDValue N00 = N0.getOperand(0);
11672       SDValue N000 = N00.getOperand(0);
11678                                                    N000.getOperand(0)),
11680                                                    N000.getOperand(1)),
11691         isContractableFMUL(N0.getOperand(2)) && N0->hasOneUse() &&
11692         N0.getOperand(2)->hasOneUse()) {
11694                          N0.getOperand(0), N0.getOperand(1),
11694                          N0.getOperand(0), N0.getOperand(1),
11696                                      N0.getOperand(2).getOperand(0),
11696                                      N0.getOperand(2).getOperand(0),
11697                                      N0.getOperand(2).getOperand(1),
11697                                      N0.getOperand(2).getOperand(1),
11705         isContractableFMUL(N1.getOperand(2))) {
11706       SDValue N20 = N1.getOperand(2).getOperand(0);
11706       SDValue N20 = N1.getOperand(2).getOperand(0);
11707       SDValue N21 = N1.getOperand(2).getOperand(1);
11707       SDValue N21 = N1.getOperand(2).getOperand(1);
11710                                      N1.getOperand(0)),
11711                          N1.getOperand(1),
11721       SDValue N02 = N0.getOperand(2);
11723         SDValue N020 = N02.getOperand(0);
11727                              N0.getOperand(0), N0.getOperand(1),
11727                              N0.getOperand(0), N0.getOperand(1),
11730                                                      N020.getOperand(0)),
11732                                                      N020.getOperand(1)),
11746       SDValue N00 = N0.getOperand(0);
11748         SDValue N002 = N00.getOperand(2);
11753                                          N00.getOperand(0)),
11755                                          N00.getOperand(1)),
11758                                                      N002.getOperand(0)),
11760                                                      N002.getOperand(1)),
11770         N1.getOperand(2).getOpcode() == ISD::FP_EXTEND) {
11771       SDValue N120 = N1.getOperand(2).getOperand(0);
11771       SDValue N120 = N1.getOperand(2).getOperand(0);
11774         SDValue N1200 = N120.getOperand(0);
11775         SDValue N1201 = N120.getOperand(1);
11777                            DAG.getNode(ISD::FNEG, SL, VT, N1.getOperand(0)),
11778                            N1.getOperand(1),
11796         N1.getOperand(0).getOpcode() == PreferredFusedOpcode) {
11797       SDValue CvtSrc = N1.getOperand(0);
11798       SDValue N100 = CvtSrc.getOperand(0);
11799       SDValue N101 = CvtSrc.getOperand(1);
11800       SDValue N102 = CvtSrc.getOperand(2);
11803         SDValue N1020 = N102.getOperand(0);
11804         SDValue N1021 = N102.getOperand(1);
11866       if (auto *C = isConstOrConstSplatFP(X.getOperand(1), true)) {
11868           return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y,
11871           return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y,
11889       if (auto *C0 = isConstOrConstSplatFP(X.getOperand(0), true)) {
11892                              DAG.getNode(ISD::FNEG, SL, VT, X.getOperand(1)), Y,
11896                              DAG.getNode(ISD::FNEG, SL, VT, X.getOperand(1)), Y,
11899       if (auto *C1 = isConstOrConstSplatFP(X.getOperand(1), true)) {
11901           return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y,
11904           return DAG.getNode(PreferredFusedOpcode, SL, VT, X.getOperand(0), Y,
11968     auto *C = isConstOrConstSplatFP(FMul.getOperand(1), true);
11974     SDValue B = N0.getOperand(0);
11980     SDValue B = N1.getOperand(0);
11992     if (N0.getOpcode() == ISD::FNEG && N0.getOperand(0) == N1)
11996     if (N1.getOpcode() == ISD::FNEG && N1.getOperand(0) == N0)
12008         isConstantFPBuildVectorOrConstantFP(N0.getOperand(1))) {
12009       SDValue NewC = DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(1), N1, Flags);
12010       return DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(0), NewC, Flags);
12018         bool CFP00 = isConstantFPBuildVectorOrConstantFP(N0.getOperand(0));
12019         bool CFP01 = isConstantFPBuildVectorOrConstantFP(N0.getOperand(1));
12022         if (CFP01 && !CFP00 && N0.getOperand(0) == N1) {
12023           SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(1),
12030             N1.getOperand(0) == N1.getOperand(1) &&
12030             N1.getOperand(0) == N1.getOperand(1) &&
12031             N0.getOperand(0) == N1.getOperand(0)) {
12031             N0.getOperand(0) == N1.getOperand(0)) {
12032           SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N0.getOperand(1),
12034           return DAG.getNode(ISD::FMUL, DL, VT, N0.getOperand(0), NewCFP, Flags);
12039         bool CFP10 = isConstantFPBuildVectorOrConstantFP(N1.getOperand(0));
12040         bool CFP11 = isConstantFPBuildVectorOrConstantFP(N1.getOperand(1));
12043         if (CFP11 && !CFP10 && N1.getOperand(0) == N0) {
12044           SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N1.getOperand(1),
12051             N0.getOperand(0) == N0.getOperand(1) &&
12051             N0.getOperand(0) == N0.getOperand(1) &&
12052             N1.getOperand(0) == N0.getOperand(0)) {
12052             N1.getOperand(0) == N0.getOperand(0)) {
12053           SDValue NewCFP = DAG.getNode(ISD::FADD, DL, VT, N1.getOperand(1),
12055           return DAG.getNode(ISD::FMUL, DL, VT, N1.getOperand(0), NewCFP, Flags);
12060         bool CFP00 = isConstantFPBuildVectorOrConstantFP(N0.getOperand(0));
12062         if (!CFP00 && N0.getOperand(0) == N0.getOperand(1) &&
12062         if (!CFP00 && N0.getOperand(0) == N0.getOperand(1) &&
12063             (N0.getOperand(0) == N1)) {
12070         bool CFP10 = isConstantFPBuildVectorOrConstantFP(N1.getOperand(0));
12072         if (!CFP10 && N1.getOperand(0) == N1.getOperand(1) &&
12072         if (!CFP10 && N1.getOperand(0) == N1.getOperand(1) &&
12073             N1.getOperand(0) == N0) {
12081           N0.getOperand(0) == N0.getOperand(1) &&
12081           N0.getOperand(0) == N0.getOperand(1) &&
12082           N1.getOperand(0) == N1.getOperand(1) &&
12082           N1.getOperand(0) == N1.getOperand(1) &&
12083           N0.getOperand(0) == N1.getOperand(0)) {
12083           N0.getOperand(0) == N1.getOperand(0)) {
12084         return DAG.getNode(ISD::FMUL, DL, VT, N0.getOperand(0),
12230       SDValue N00 = N0.getOperand(0);
12231       SDValue N01 = N0.getOperand(1);
12244         N0.getOperand(0) == N0.getOperand(1)) {
12244         N0.getOperand(0) == N0.getOperand(1)) {
12247       return DAG.getNode(ISD::FMUL, DL, VT, N0.getOperand(0), MulConsts, Flags);
12278     SDValue Cond = Select.getOperand(0);
12279     auto TrueOpnd  = dyn_cast<ConstantFPSDNode>(Select.getOperand(1));
12280     auto FalseOpnd = dyn_cast<ConstantFPSDNode>(Select.getOperand(2));
12283         Cond.getOpcode() == ISD::SETCC && Cond.getOperand(0) == X &&
12284         isa<ConstantFPSDNode>(Cond.getOperand(1)) &&
12285         cast<ConstantFPSDNode>(Cond.getOperand(1))->isExactlyValue(0.0)) {
12286       ISD::CondCode CC = cast<CondCodeSDNode>(Cond.getOperand(2))->get();
12373     if (N2.getOpcode() == ISD::FMUL && N0 == N2.getOperand(0) &&
12375         isConstantFPBuildVectorOrConstantFP(N2.getOperand(1))) {
12377                          DAG.getNode(ISD::FADD, DL, VT, N1, N2.getOperand(1),
12384         isConstantFPBuildVectorOrConstantFP(N0.getOperand(1))) {
12386                          N0.getOperand(0),
12387                          DAG.getNode(ISD::FMUL, DL, VT, N1, N0.getOperand(1),
12413       return DAG.getNode(ISD::FMA, DL, VT, N0.getOperand(0),
12428     if (N1CFP && N2.getOpcode() == ISD::FNEG && N2.getOperand(0) == N0) {
12561       if (SDValue RV = buildRsqrtEstimate(N1.getOperand(0), Flags))
12564                N1.getOperand(0).getOpcode() == ISD::FSQRT) {
12565       if (SDValue RV = buildRsqrtEstimate(N1.getOperand(0).getOperand(0),
12565       if (SDValue RV = buildRsqrtEstimate(N1.getOperand(0).getOperand(0),
12572                N1.getOperand(0).getOpcode() == ISD::FSQRT) {
12573       if (SDValue RV = buildRsqrtEstimate(N1.getOperand(0).getOperand(0),
12573       if (SDValue RV = buildRsqrtEstimate(N1.getOperand(0).getOperand(0),
12575         RV = DAG.getNode(ISD::FP_ROUND, SDLoc(N1), VT, RV, N1.getOperand(1));
12584       if (N1.getOperand(0).getOpcode() == ISD::FSQRT) {
12585         SqrtOp = N1.getOperand(0);
12586         OtherOp = N1.getOperand(1);
12587       } else if (N1.getOperand(1).getOpcode() == ISD::FSQRT) {
12588         SqrtOp = N1.getOperand(1);
12589         OtherOp = N1.getOperand(0);
12594         if (SDValue RV = buildRsqrtEstimate(SqrtOp.getOperand(0), Flags)) {
12694     return DAG.getNode(ISD::FCOPYSIGN, SDLoc(N), VT, N0.getOperand(0), N1);
12702     return DAG.getNode(ISD::FCOPYSIGN, SDLoc(N), VT, N0, N1.getOperand(1));
12707     return DAG.getNode(ISD::FCOPYSIGN, SDLoc(N), VT, N0, N1.getOperand(0));
12813       N0.getOperand(0).getValueType() == VT)
12814     return DAG.getNode(ISD::FTRUNC, SDLoc(N), VT, N0.getOperand(0));
12817       N0.getOperand(0).getValueType() == VT)
12818     return DAG.getNode(ISD::FTRUNC, SDLoc(N), VT, N0.getOperand(0));
12857         { N0.getOperand(0), N0.getOperand(1),
12857         { N0.getOperand(0), N0.getOperand(1),
12859           N0.getOperand(2) };
12866         N0.getOperand(0).getOpcode() == ISD::SETCC &&!VT.isVector() &&
12871         { N0.getOperand(0).getOperand(0), N0.getOperand(0).getOperand(1),
12871         { N0.getOperand(0).getOperand(0), N0.getOperand(0).getOperand(1),
12871         { N0.getOperand(0).getOperand(0), N0.getOperand(0).getOperand(1),
12871         { N0.getOperand(0).getOperand(0), N0.getOperand(0).getOperand(1),
12873           N0.getOperand(0).getOperand(2) };
12873           N0.getOperand(0).getOperand(2) };
12917         { N0.getOperand(0), N0.getOperand(1),
12917         { N0.getOperand(0), N0.getOperand(1),
12919           N0.getOperand(2) };
12938   SDValue Src = N0.getOperand(0);
13013   if (N0.getOpcode() == ISD::FP_EXTEND && VT == N0.getOperand(0).getValueType())
13014     return N0.getOperand(0);
13028     if (N0.getOperand(0).getValueType() == MVT::f80 && VT == MVT::f16)
13038       return DAG.getNode(ISD::FP_ROUND, DL, VT, N0.getOperand(0),
13046                               N0.getOperand(0), N1);
13049                        Tmp, N0.getOperand(1));
13074     return DAG.getNode(ISD::FP16_TO_FP, SDLoc(N), VT, N0.getOperand(0));
13080     SDValue In = N0.getOperand(0);
13084                          In, N0.getOperand(1));
13174     SDValue Int = N0.getOperand(0);
13198     ConstantFPSDNode *CFP1 = dyn_cast<ConstantFPSDNode>(N0.getOperand(1));
13206             ISD::FMUL, SDLoc(N), VT, N0.getOperand(0),
13207             DAG.getNode(ISD::FNEG, SDLoc(N), VT, N0.getOperand(1)),
13268     return DAG.getNode(ISD::FABS, SDLoc(N), VT, N0.getOperand(0));
13272     SDValue Int = N0.getOperand(0);
13311                                    N1.getOperand(0).getValueType())) {
13313                        Chain, N1.getOperand(2),
13314                        N1.getOperand(0), N1.getOperand(1), N2);
13314                        N1.getOperand(0), N1.getOperand(1), N2);
13328        (N.getOperand(0).hasOneUse() &&
13329         N.getOperand(0).getOpcode() == ISD::SRL))) {
13332       N = N.getOperand(0);
13351     SDValue Op0 = N.getOperand(0);
13352     SDValue Op1 = N.getOperand(1);
13355       SDValue AndOp1 = Op0.getOperand(1);
13442                        N->getOperand(0), Simp.getOperand(2),
13443                        Simp.getOperand(0), Simp.getOperand(1),
13443                        Simp.getOperand(0), Simp.getOperand(1),
14687       SliceInst = SliceInst.getOperand(0);
14860     MaskedLoad = CheckForMaskedLoad(Value.getOperand(0), Ptr, Chain);
14863                                                   Value.getOperand(1), ST,this))
14867     MaskedLoad = CheckForMaskedLoad(Value.getOperand(1), Ptr, Chain);
14870                                                   Value.getOperand(0), ST,this))
14875       Value.getOperand(1).getOpcode() != ISD::Constant)
14878   SDValue N0 = Value.getOperand(0);
14888     SDValue N1 = Value.getOperand(1);
15040       SDNode *MulVar = AddNode.getOperand(0).getNode();
15179             SDValue Vec = Val.getOperand(0);
15180             SDValue Idx = Val.getOperand(1);
16133     EVT SVT = Value.getOperand(0).getValueType();
16144       return DAG.getStore(Chain, SDLoc(N), Value.getOperand(0), Ptr,
16293       TLI.isTruncStoreLegal(Value.getOperand(0).getValueType(),
16295     return DAG.getTruncStore(Chain, SDLoc(N), Value.getOperand(0),
16354         Chains.push_back(Chain.getOperand(--Nops));
16361         Chains.push_back(Chain.getOperand(0));
16430   SDValue Op1 = Val.getOperand(0);
16431   SDValue Op2 = Val.getOperand(1);
16439   Hi = Op1.getOperand(0);
16445   ConstantSDNode *ShAmt = dyn_cast<ConstantSDNode>(Op1.getOperand(1));
16452       !Lo.getOperand(0).getValueType().isScalarInteger() ||
16453       Lo.getOperand(0).getValueSizeInBits() > HalfValBitSize ||
16455       !Hi.getOperand(0).getValueType().isScalarInteger() ||
16456       Hi.getOperand(0).getValueSizeInBits() > HalfValBitSize)
16461   EVT LowTy = (Lo.getOperand(0).getOpcode() == ISD::BITCAST)
16462                   ? Lo.getOperand(0).getValueType()
16464   EVT HighTy = (Hi.getOperand(0).getOpcode() == ISD::BITCAST)
16465                    ? Hi.getOperand(0).getValueType()
16477   Lo = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, Lo.getOperand(0));
16478   Hi = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, Hi.getOperand(0));
16505       isa<ConstantSDNode>(InsertVal.getOperand(1))) {
16509     SDValue X = Vec.getOperand(0);
16510     SDValue Y = Vec.getOperand(1);
16516     if (InsertVal.getOperand(0) == X) {
16518     } else if (InsertVal.getOperand(0) == Y) {
16525       auto *ExtrIndex = cast<ConstantSDNode>(InsertVal.getOperand(1));
16544       !InsertVal.getOperand(0).getValueType().isVector())
16547   SDValue SubVec = InsertVal.getOperand(0);
16602       InVec == InVal.getOperand(0) && EltNo == InVal.getOperand(1))
16602       InVec == InVal.getOperand(0) && EltNo == InVal.getOperand(1))
16629       && isa<ConstantSDNode>(InVec.getOperand(2))) {
16634                                   InVec.getOperand(0), InVal, EltNo);
16637                          VT, NewOp, InVec.getOperand(1), InVec.getOperand(2));
16637                          VT, NewOp, InVec.getOperand(1), InVec.getOperand(2));
16778   SDValue Op0 = Vec.getOperand(0);
16779   SDValue Op1 = Vec.getOperand(1);
16808       Index == VecOp.getOperand(2)) {
16809     SDValue Elt = VecOp.getOperand(1);
16818     SDValue InOp = VecOp.getOperand(0);
16836     SDValue Elt = VecOp.getOperand(IndexC->getZExtValue());
16857     SDValue BCSrc = VecOp.getOperand(0);
16865       SDValue X = BCSrc.getOperand(0);
16905       SVInVec = VecOp.getOperand(0);
16907       SVInVec = VecOp.getOperand(1);
16912       SDValue InOp = SVInVec.getOperand(OrigElt);
16970     EVT BCVT = VecOp.getOperand(0).getValueType();
16975     VecOp = VecOp.getOperand(0);
17001              VecOp.getOperand(0).getValueType() == ExtVT &&
17002              ISD::isNormalLoad(VecOp.getOperand(0).getNode())) {
17007     LN0 = cast<LoadSDNode>(VecOp.getOperand(0));
17025     VecOp = (Idx < (int)NumElts) ? VecOp.getOperand(0) : VecOp.getOperand(1);
17025     VecOp = (Idx < (int)NumElts) ? VecOp.getOperand(0) : VecOp.getOperand(1);
17032       VecOp = VecOp.getOperand(0);
17091     EVT InTy = In.getOperand(0).getValueType();
17311       Zext.getOperand(0).getOpcode() != ISD::EXTRACT_VECTOR_ELT ||
17312       !isa<ConstantSDNode>(Zext.getOperand(0).getOperand(1)) ||
17312       !isa<ConstantSDNode>(Zext.getOperand(0).getOperand(1)) ||
17318   SDValue Extract = Zext.getOperand(0);
17322       Extract.getOperand(0).getValueSizeInBits() != VT.getSizeInBits())
17349   EVT VecVT = Extract.getOperand(0).getValueType();
17352   SDValue Shuf = TLI.buildLegalVectorShuffle(VecVT, DL, Extract.getOperand(0),
17408         !isa<ConstantSDNode>(Op.getOperand(1)))
17410     SDValue ExtractedFromVec = Op.getOperand(0);
17589         Op.getOperand(0).getOpcode() == ISD::EXTRACT_VECTOR_ELT &&
17590         Op0.getOperand(0).getOperand(0) == Op.getOperand(0).getOperand(0))
17590         Op0.getOperand(0).getOperand(0) == Op.getOperand(0).getOperand(0))
17590         Op0.getOperand(0).getOperand(0) == Op.getOperand(0).getOperand(0))
17590         Op0.getOperand(0).getOperand(0) == Op.getOperand(0).getOperand(0))
17591       if (auto *C = dyn_cast<ConstantSDNode>(Op.getOperand(0).getOperand(1)))
17591       if (auto *C = dyn_cast<ConstantSDNode>(Op.getOperand(0).getOperand(1)))
17603   SDValue In = Op0.getOperand(0).getOperand(0);
17603   SDValue In = Op0.getOperand(0).getOperand(0);
17619                    Op0.getOperand(0).getOperand(1));
17619                    Op0.getOperand(0).getOperand(1));
17669           (Op0.getOperand(0) == Op.getOperand(0)))
17669           (Op0.getOperand(0) == Op.getOperand(0)))
17670         if (auto CNode = dyn_cast<ConstantSDNode>(Op.getOperand(1)))
17684         (Op0.getOperand(0).getValueType() == N->getValueType(0)))
17685       return Op0.getOperand(0);
17690                          Op0.getOperand(0), Op0.getOperand(1));
17690                          Op0.getOperand(0), Op0.getOperand(1));
17725         !Op.getOperand(0).getValueType().isVector())
17726       Ops.push_back(Op.getOperand(0));
17792     SDValue ExtVec = Op.getOperand(0);
17805     if (!isa<ConstantSDNode>(Op.getOperand(1)))
17875       if (SVT == Scalar.getOperand(0).getValueType())
17876         Scalar = Scalar.getOperand(0);
17929           EVT OpSVT = Op.getOperand(0).getValueType();
17950                 DAG.getNode(ISD::TRUNCATE, SDLoc(N), MinVT, Op.getOperand(i)));
17988       if (Op.getOperand(0) != SingleSource)
17991       SingleSource = Op.getOperand(0);
18000     auto *CS = dyn_cast<ConstantSDNode>(Op.getOperand(1));
18021       V.getOperand(1).getValueType() == SubVT && V.getOperand(2) == Index) {
18021       V.getOperand(1).getValueType() == SubVT && V.getOperand(2) == Index) {
18022     return V.getOperand(1);
18026       V.getOperand(0).getValueType() == SubVT &&
18029     return V.getOperand(SubIdx);
18043   SDValue Bop0 = BinOp.getOperand(0), Bop1 = BinOp.getOperand(1);
18043   SDValue Bop0 = BinOp.getOperand(0), Bop1 = BinOp.getOperand(1);
18132                             BinOp.getOperand(0), NewExtIndex);
18134                             BinOp.getOperand(1), NewExtIndex);
18157       return V.getOperand(ConcatOpNum);
18160   SDValue SubVecL = GetSubVector(peekThroughBitcasts(BinOp.getOperand(0)));
18161   SDValue SubVecR = GetSubVector(peekThroughBitcasts(BinOp.getOperand(1)));
18173                                       BinOp.getOperand(0), IndexC);
18177                                       BinOp.getOperand(1), IndexC);
18238       V.hasOneUse() && isa<ConstantSDNode>(V.getOperand(1))) {
18239     if (TLI.isExtractSubvectorCheap(NVT, V.getOperand(0).getValueType(),
18242       return DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), NVT, V.getOperand(0),
18243                          V.getOperand(1));
18250       V.getOperand(0).getValueType().isVector()) {
18251     SDValue SrcOp = V.getOperand(0);
18265                                          V.getOperand(0), NewIndex);
18279       V.getOperand(0).getValueType() == NVT) {
18329     EVT SmallVT = V.getOperand(1).getValueType();
18335     auto *InsIdx = dyn_cast<ConstantSDNode>(V.getOperand(2));
18344         return DAG.getBitcast(NVT, V.getOperand(1));
18347           DAG.getBitcast(N->getOperand(0).getValueType(), V.getOperand(0)),
18370       !N0.getOperand(1).isUndef() || !N1.getOperand(1).isUndef())
18370       !N0.getOperand(1).isUndef() || !N1.getOperand(1).isUndef())
18401   SDValue X = N0.getOperand(0), Y = N1.getOperand(0);
18401   SDValue X = N0.getOperand(0), Y = N1.getOperand(0);
18420   EVT ConcatVT = N0.getOperand(0).getValueType();
18432     N0 = DAG.getVectorShuffle(ConcatVT, SDLoc(N), N0.getOperand(0),
18433                               N0.getOperand(1),
18465       Ops.push_back(N0.getOperand(OpIdx));
18467       Ops.push_back(N1.getOperand(OpIdx - N0.getNumOperands()));
18531         Op = S.getOperand(Idx);
18533         SDValue Op0 = S.getOperand(0);
18644   SDValue N00 = N0.getOperand(0);
18796   auto *InsIndexC = dyn_cast<ConstantSDNode>(Op0.getOperand(2));
18811                                         Op0.getOperand(2).getValueType());
18813                      Op1, Op0.getOperand(1), NewInsIndex);
18905       SDValue L = N0.getOperand(0), R = N0.getOperand(1);
18905       SDValue L = N0.getOperand(0), R = N0.getOperand(1);
18987        N0.getOperand(0).getValueType() == N1.getOperand(0).getValueType()))) {
18987        N0.getOperand(0).getValueType() == N1.getOperand(0).getValueType()))) {
19255       N1.getOperand(1) == N2 && N1.getOperand(0).getValueType() == VT)
19255       N1.getOperand(1) == N2 && N1.getOperand(0).getValueType() == VT)
19256     return N1.getOperand(0);
19263       N1.getOperand(0).getOpcode() == ISD::EXTRACT_SUBVECTOR &&
19264       N1.getOperand(0).getOperand(1) == N2 &&
19264       N1.getOperand(0).getOperand(1) == N2 &&
19265       N1.getOperand(0).getOperand(0).getValueType().getVectorNumElements() ==
19265       N1.getOperand(0).getOperand(0).getValueType().getVectorNumElements() ==
19267       N1.getOperand(0).getOperand(0).getValueType().getSizeInBits() ==
19267       N1.getOperand(0).getOperand(0).getValueType().getSizeInBits() ==
19269     return DAG.getBitcast(VT, N1.getOperand(0).getOperand(0));
19269     return DAG.getBitcast(VT, N1.getOperand(0).getOperand(0));
19277     SDValue CN0 = N0.getOperand(0);
19278     SDValue CN1 = N1.getOperand(0);
19294       N0.getOperand(1).getValueType() == N1.getValueType() &&
19295       N0.getOperand(2) == N2)
19296     return DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT, N0.getOperand(0),
19303       N1.getOperand(0).isUndef() && isNullConstant(N1.getOperand(2)))
19303       N1.getOperand(0).isUndef() && isNullConstant(N1.getOperand(2)))
19305                        N1.getOperand(1), N2);
19354       N1.getValueType() == N0.getOperand(1).getValueType() &&
19355       isa<ConstantSDNode>(N0.getOperand(2))) {
19360                                   N0.getOperand(0), N1, N2);
19363                          VT, NewOp, N0.getOperand(1), N0.getOperand(2));
19363                          VT, NewOp, N0.getOperand(1), N0.getOperand(2));
19370       N0.getOperand(0).getValueType() == N1.getValueType()) {
19401     ConstantSDNode *AndConst = getAsNonOpaqueConstant(N0.getOperand(1));
19404                          N0.getOperand(0));
19475       SDValue Elt = RHS.getOperand(EltIdx);
19608         LHS.getOperand(1).isUndef() && RHS.getOperand(1).isUndef() &&
19608         LHS.getOperand(1).isUndef() && RHS.getOperand(1).isUndef() &&
19611       SDValue NewBinOp = DAG.getNode(Opcode, DL, VT, LHS.getOperand(0),
19612                                      RHS.getOperand(0), N->getFlags());
19613       SDValue UndefV = LHS.getOperand(1);
19622   if (LHS.getOpcode() == ISD::INSERT_SUBVECTOR && LHS.getOperand(0).isUndef() &&
19623       RHS.getOpcode() == ISD::INSERT_SUBVECTOR && RHS.getOperand(0).isUndef() &&
19624       LHS.getOperand(2) == RHS.getOperand(2) &&
19624       LHS.getOperand(2) == RHS.getOperand(2) &&
19626     SDValue X = LHS.getOperand(1);
19627     SDValue Y = RHS.getOperand(1);
19628     SDValue Z = LHS.getOperand(2);
19658     EVT NarrowVT = LHS.getOperand(0).getValueType();
19659     if (NarrowVT == RHS.getOperand(0).getValueType() &&
19666         ConcatOps.push_back(DAG.getNode(Opcode, DL, NarrowVT, LHS.getOperand(i),
19667                                         RHS.getOperand(i)));
19684   SDValue SCC = SimplifySelectCC(DL, N0.getOperand(0), N0.getOperand(1), N1, N2,
19684   SDValue SCC = SimplifySelectCC(DL, N0.getOperand(0), N0.getOperand(1), N1, N2,
19685                                  cast<CondCodeSDNode>(N0.getOperand(2))->get());
19697                                   SCC.getOperand(0), SCC.getOperand(1),
19697                                   SCC.getOperand(0), SCC.getOperand(1),
19698                                   SCC.getOperand(4), Flags);
19701                                          SCC.getOperand(2), SCC.getOperand(3));
19701                                          SCC.getOperand(2), SCC.getOperand(3));
19736           CC = cast<CondCodeSDNode>(Cmp.getOperand(2))->get();
19737           CmpLHS = Cmp.getOperand(0);
19738           Zero = isConstOrConstSplatFP(Cmp.getOperand(1));
19742           Sqrt.getOperand(0) == CmpLHS && (CC == ISD::SETOLT ||
19768     if (LHS.getOperand(0) != RHS.getOperand(0) ||
19768     if (LHS.getOperand(0) != RHS.getOperand(0) ||
20159             N0 == Count.getOperand(0) &&
20166             N0 == Count.getOperand(0) &&
20632         C = C.getOperand(0);
20641       C = C.getOperand(0);
20650         C = C.getOperand(0);
20692         Chains.push_back(Chain.getOperand(--n));
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
 1279   SDValue Vec = Op.getOperand(0);
 1280   SDValue Idx = Op.getOperand(1);
 1361   SDValue Vec  = Op.getOperand(0);
 1362   SDValue Part = Op.getOperand(1);
 1363   SDValue Idx  = Op.getOperand(2);
 1589   SDValue Chain = Tmp1.getOperand(0);
 1595   SDValue Size  = Tmp2.getOperand(1);
 3426       Tmp1 = DAG.getSelectCC(dl, Tmp1.getOperand(0), Tmp1.getOperand(1),
 3426       Tmp1 = DAG.getSelectCC(dl, Tmp1.getOperand(0), Tmp1.getOperand(1),
 3428                              cast<CondCodeSDNode>(Tmp1.getOperand(2))->get());
 3486                          Tmp1, Tmp2.getOperand(2),
 3487                          Tmp2.getOperand(0), Tmp2.getOperand(1),
 3487                          Tmp2.getOperand(0), Tmp2.getOperand(1),
 3493            isa<ConstantSDNode>(Tmp2.getOperand(1)) &&
 3494            cast<ConstantSDNode>(Tmp2.getOperand(1))->getZExtValue() == 1))
lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
  528       EVT CondLHSVT = Cond.getOperand(0).getValueType();
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  547     if (Op.getOperand(j).getValueType().isVector())
  548       if (Op.getOperand(j)
  553         Operands[j] = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Op.getOperand(j));
  555         Operands[j] = DAG.getNode(ISD::BITCAST, dl, NVT, Op.getOperand(j));
  557       Operands[j] = Op.getOperand(j);
  572   MVT VT = Op.getOperand(0).getSimpleValueType();
  583     if (Op.getOperand(j).getValueType().isVector())
  584       Operands[j] = DAG.getNode(Opc, dl, NVT, Op.getOperand(j));
  586       Operands[j] = Op.getOperand(j);
  610   SDValue Promoted  = DAG.getNode(NewOpc, dl, NVT, Op.getOperand(0));
  749       NewChain = Scalarized.getOperand(1);
  750       Value = Scalarized.getOperand(0);
  894   SDValue Mask = Op.getOperand(0);
  895   SDValue Op1 = Op.getOperand(1);
  896   SDValue Op2 = Op.getOperand(2);
  957   Op = Op.getOperand(0);
  968   SDValue Src = Op.getOperand(0);
 1003   SDValue Src = Op.getOperand(0);
 1028   SDValue Src = Op.getOperand(0);
 1084   Op = DAG.getNode(ISD::BITCAST, DL, ByteVT, Op.getOperand(0));
 1112       Op = DAG.getNode(ISD::BITCAST, DL, ByteVT, Op.getOperand(0));
 1137   SDValue Mask = Op.getOperand(0);
 1138   SDValue Op1 = Op.getOperand(1);
 1139   SDValue Op2 = Op.getOperand(2);
 1204   EVT VT = Op.getOperand(0).getValueType();
 1233   SDValue HI = DAG.getNode(ISD::SRL, DL, VT, Op.getOperand(0), HalfWord);
 1234   SDValue LO = DAG.getNode(ISD::AND, DL, VT, Op.getOperand(0), HalfWordMask);
 1253                        Zero, Op.getOperand(0));
 1375   SDValue Chain = Op.getOperand(0);
 1390       SDValue Oper = Op.getOperand(j);
 1419   SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1), CC = Op.getOperand(2);
 1419   SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1), CC = Op.getOperand(2);
 1419   SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1), CC = Op.getOperand(2);
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  535   SDValue Arg = N->getOperand(2).getOperand(0);
 3817     N = N.getOperand(0);
 3822     N = N.getOperand(0);
 3826     N = N.getOperand(0);
 3828     N = N.getOperand(0);
 3831     return isSETCCorConvertedSETCC(N.getOperand(0)) &&
 3832            isSETCCorConvertedSETCC(N.getOperand(1));
 3961     EVT MaskVT = getSetCCResultType(Cond.getOperand(0).getValueType());
 3969     EVT VT0 = getSetCCResultType(SETCC0.getOperand(0).getValueType());
 3970     EVT VT1 = getSetCCResultType(SETCC1.getOperand(0).getValueType());
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  281     if (AllowUndefs && Op.getOperand(i).isUndef()) {
  287     auto *Cst = dyn_cast<ConstantSDNode>(Op.getOperand(i));
  313     SDValue LHSOp = LHS.getOperand(i);
  314     SDValue RHSOp = RHS.getOperand(i);
 2163     if (auto *RHSC = dyn_cast<ConstantSDNode>(V.getOperand(1))) {
 2172               GetDemandedBits(V.getOperand(0), SrcDemandedBits))
 2174                        V.getOperand(1));
 2180     if (ConstantSDNode *RHSC = isConstOrConstSplat(V.getOperand(1))) {
 2183           DemandedBits.isSubsetOf(computeKnownBits(V.getOperand(0)).Zero |
 2185         return V.getOperand(0);
 2190     SDValue Src = V.getOperand(0);
 2258       SDValue Op = V.getOperand(i);
 2291     SDValue Src = V.getOperand(0);
 2292     ConstantSDNode *SubIdx = dyn_cast<ConstantSDNode>(V.getOperand(1));
 2310     SDValue LHS = V.getOperand(0);
 2311     SDValue RHS = V.getOperand(1);
 2366     return V.getOperand(Idx / NumElts);
 2386   if (ConstantSDNode *SA = isConstOrConstSplat(V.getOperand(1))) {
 2399   auto *BV = dyn_cast<BuildVectorSDNode>(V.getOperand(1));
 2472       SDValue SrcOp = Op.getOperand(i);
 2519       SDValue LHS = Op.getOperand(0);
 2528       SDValue RHS = Op.getOperand(1);
 2538     EVT SubVectorVT = Op.getOperand(0).getValueType();
 2545         SDValue Sub = Op.getOperand(i);
 2559     SDValue Src = Op.getOperand(0);
 2560     SDValue Sub = Op.getOperand(1);
 2561     ConstantSDNode *SubIdx = dyn_cast<ConstantSDNode>(Op.getOperand(2));
 2593     SDValue Src = Op.getOperand(0);
 2594     ConstantSDNode *SubIdx = dyn_cast<ConstantSDNode>(Op.getOperand(1));
 2611     SDValue N0 = Op.getOperand(0);
 2619     SDValue N0 = Op.getOperand(0);
 2689     Known = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 2690     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2698     Known = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 2699     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2707     Known = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 2708     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2718     Known = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 2719     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2740     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2743     Known2 = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 2753     Known = computeKnownBits(Op.getOperand(2), DemandedElts, Depth+1);
 2757     Known2 = computeKnownBits(Op.getOperand(1), DemandedElts, Depth+1);
 2764     Known = computeKnownBits(Op.getOperand(3), DemandedElts, Depth+1);
 2768     Known2 = computeKnownBits(Op.getOperand(2), DemandedElts, Depth+1);
 2790     if (TLI->getBooleanContents(Op.getOperand(0).getValueType()) ==
 2797       Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2807       Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2820       Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2829     if (ConstantSDNode *C = isConstOrConstSplat(Op.getOperand(2), DemandedElts)) {
 2835         Known = computeKnownBits(Op.getOperand(Opcode == ISD::FSHL ? 0 : 1),
 2842       Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2843       Known2 = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 2860     EVT EVT = cast<VTSDNode>(Op.getOperand(1))->getVT();
 2876     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2896     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2905     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2913     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2984     EVT InVT = Op.getOperand(0).getValueType();
 2986     Known = computeKnownBits(Op.getOperand(0), InDemandedElts, Depth + 1);
 2991     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 2996     EVT InVT = Op.getOperand(0).getValueType();
 2998     Known = computeKnownBits(Op.getOperand(0), InDemandedElts, Depth + 1);
 3005     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3012     Known = computeKnownBits(Op.getOperand(0), Depth+1);
 3017     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3022     EVT VT = cast<VTSDNode>(Op.getOperand(1))->getVT();
 3024     Known = computeKnownBits(Op.getOperand(0), Depth+1);
 3037       if (TLI->getBooleanContents(Op.getOperand(0).getValueType()) ==
 3046     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3047     Known2 = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 3057       if (TLI->getBooleanContents(Op.getOperand(0).getValueType()) ==
 3084     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3085     Known2 = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 3090     if (ConstantSDNode *Rem = isConstOrConstSplat(Op.getOperand(1))) {
 3094         Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3114     if (ConstantSDNode *Rem = isConstOrConstSplat(Op.getOperand(1))) {
 3118         Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3129     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3130     Known2 = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 3139     Known = computeKnownBits(Op.getOperand(0), Depth+1);
 3152     SDValue InVec = Op.getOperand(0);
 3153     SDValue EltNo = Op.getOperand(1);
 3176     SDValue InVec = Op.getOperand(0);
 3177     SDValue InVal = Op.getOperand(1);
 3178     SDValue EltNo = Op.getOperand(2);
 3212     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3218     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3224     Known2 = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3243     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3244     Known2 = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 3257     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3258     Known2 = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 3276     if ((CstLow = isConstOrConstSplat(Op.getOperand(1), DemandedElts)))
 3277       if (Op.getOperand(0).getOpcode() == (IsMax ? ISD::SMIN : ISD::SMAX))
 3279             isConstOrConstSplat(Op.getOperand(0).getOperand(1), DemandedElts);
 3279             isConstOrConstSplat(Op.getOperand(0).getOperand(1), DemandedElts);
 3302     Known = computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
 3304     Known2 = computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
 3372     auto *C = isConstOrConstSplat(Val.getOperand(0));
 3380     auto *C = isConstOrConstSplat(Val.getOperand(0));
 3434     Tmp = cast<VTSDNode>(Op.getOperand(1))->getVT().getSizeInBits();
 3437     Tmp = cast<VTSDNode>(Op.getOperand(1))->getVT().getSizeInBits();
 3446       SDValue SrcOp = Op.getOperand(i);
 3447       Tmp2 = ComputeNumSignBits(Op.getOperand(i), Depth + 1);
 3481       Tmp = ComputeNumSignBits(Op.getOperand(0), DemandedLHS, Depth + 1);
 3483       Tmp2 = ComputeNumSignBits(Op.getOperand(1), DemandedRHS, Depth + 1);
 3494     SDValue N0 = Op.getOperand(0);
 3540     Tmp = VTBits - Op.getOperand(0).getScalarValueSizeInBits();
 3541     return ComputeNumSignBits(Op.getOperand(0), DemandedElts, Depth+1) + Tmp;
 3544     Tmp = cast<VTSDNode>(Op.getOperand(1))->getVT().getScalarSizeInBits();
 3546     Tmp2 = ComputeNumSignBits(Op.getOperand(0), DemandedElts, Depth+1);
 3549     SDValue Src = Op.getOperand(0);
 3557     Tmp = ComputeNumSignBits(Op.getOperand(0), DemandedElts, Depth+1);
 3560             isConstOrConstSplat(Op.getOperand(1), DemandedElts)) {
 3568             isConstOrConstSplat(Op.getOperand(1), DemandedElts)) {
 3570       Tmp = ComputeNumSignBits(Op.getOperand(0), DemandedElts, Depth+1);
 3580     Tmp = ComputeNumSignBits(Op.getOperand(0), DemandedElts, Depth+1);
 3582       Tmp2 = ComputeNumSignBits(Op.getOperand(1), DemandedElts, Depth+1);
 3592     Tmp = ComputeNumSignBits(Op.getOperand(1), DemandedElts, Depth+1);
 3594     Tmp2 = ComputeNumSignBits(Op.getOperand(2), DemandedElts, Depth+1);
 3597     Tmp = ComputeNumSignBits(Op.getOperand(2), DemandedElts, Depth+1);
 3599     Tmp2 = ComputeNumSignBits(Op.getOperand(3), DemandedElts, Depth+1);
 3608     if ((CstLow = isConstOrConstSplat(Op.getOperand(1), DemandedElts)))
 3609       if (Op.getOperand(0).getOpcode() == (IsMax ? ISD::SMIN : ISD::SMAX))
 3611             isConstOrConstSplat(Op.getOperand(0).getOperand(1), DemandedElts);
 3611             isConstOrConstSplat(Op.getOperand(0).getOperand(1), DemandedElts);
 3623     Tmp = ComputeNumSignBits(Op.getOperand(0), Depth + 1);
 3626     Tmp2 = ComputeNumSignBits(Op.getOperand(1), Depth + 1);
 3631     Tmp = ComputeNumSignBits(Op.getOperand(0), Depth + 1);
 3634     Tmp2 = ComputeNumSignBits(Op.getOperand(1), Depth + 1);
 3654     if (TLI->getBooleanContents(Op.getOperand(0).getValueType()) ==
 3660     if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
 3669       Tmp = ComputeNumSignBits(Op.getOperand(0), Depth+1);
 3677     Tmp = ComputeNumSignBits(Op.getOperand(0), Depth+1);
 3681     if (ConstantSDNode *CRHS = dyn_cast<ConstantSDNode>(Op.getOperand(1)))
 3683         KnownBits Known = computeKnownBits(Op.getOperand(0), Depth+1);
 3696     Tmp2 = ComputeNumSignBits(Op.getOperand(1), Depth+1);
 3701     Tmp2 = ComputeNumSignBits(Op.getOperand(1), Depth+1);
 3705     if (ConstantSDNode *CLHS = isConstOrConstSplat(Op.getOperand(0)))
 3707         KnownBits Known = computeKnownBits(Op.getOperand(1), Depth+1);
 3723     Tmp = ComputeNumSignBits(Op.getOperand(0), Depth+1);
 3728     unsigned SignBitsOp0 = ComputeNumSignBits(Op.getOperand(0), Depth + 1);
 3731     unsigned SignBitsOp1 = ComputeNumSignBits(Op.getOperand(1), Depth + 1);
 3740     unsigned NumSrcBits = Op.getOperand(0).getScalarValueSizeInBits();
 3741     unsigned NumSrcSignBits = ComputeNumSignBits(Op.getOperand(0), Depth + 1);
 3747     const int KnownSign = ComputeNumSignBits(Op.getOperand(0), Depth+1);
 3749     const int Items = Op.getOperand(0).getValueSizeInBits() / BitWidth;
 3760     SDValue InVec = Op.getOperand(0);
 3761     SDValue InVal = Op.getOperand(1);
 3762     SDValue EltNo = Op.getOperand(2);
 3797     SDValue InVec = Op.getOperand(0);
 3798     SDValue EltNo = Op.getOperand(1);
 3801     const unsigned EltBitWidth = Op.getOperand(0).getScalarValueSizeInBits();
 3823     SDValue Src = Op.getOperand(0);
 3824     ConstantSDNode *SubIdx = dyn_cast<ConstantSDNode>(Op.getOperand(1));
 3838     EVT SubVectorVT = Op.getOperand(0).getValueType();
 3846       Tmp2 = ComputeNumSignBits(Op.getOperand(i), DemandedSub, Depth + 1);
 3855     SDValue Src = Op.getOperand(0);
 3856     SDValue Sub = Op.getOperand(1);
 3857     auto *SubIdx = dyn_cast<ConstantSDNode>(Op.getOperand(2));
 3970       !isa<ConstantSDNode>(Op.getOperand(1)))
 3974       !MaskedValueIsZero(Op.getOperand(0), Op.getConstantOperandAPInt(1)))
 4020     return isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1);
 4025     return isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1);
 4028     return isKnownNeverNaN(Op.getOperand(1), SNaN, Depth + 1) &&
 4029            isKnownNeverNaN(Op.getOperand(2), SNaN, Depth + 1);
 4034     return isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1);
 4043     return isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1) &&
 4044            isKnownNeverNaN(Op.getOperand(1), SNaN, Depth + 1) &&
 4045            isKnownNeverNaN(Op.getOperand(2), SNaN, Depth + 1);
 4062     return isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1) ||
 4063            isKnownNeverNaN(Op.getOperand(1), SNaN, Depth + 1);
 4071     return (isKnownNeverNaN(Op.getOperand(0), false, Depth + 1) &&
 4072             isKnownNeverSNaN(Op.getOperand(1), Depth + 1)) ||
 4073            (isKnownNeverNaN(Op.getOperand(1), false, Depth + 1) &&
 4074             isKnownNeverSNaN(Op.getOperand(0), Depth + 1));
 4079     return isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1) &&
 4080            isKnownNeverNaN(Op.getOperand(1), SNaN, Depth + 1);
 4083     return isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1);
 4121     if (isKnownNeverZero(Op.getOperand(1)) ||
 4122         isKnownNeverZero(Op.getOperand(0)))
 4168         Ops[i].getOperand(0).getValueType() != VT ||
 4169         (IdentitySrc && Ops[i].getOperand(0) != IdentitySrc) ||
 4170         !isa<ConstantSDNode>(Ops[i].getOperand(1)) ||
 4171         cast<ConstantSDNode>(Ops[i].getOperand(1))->getAPIntValue() != i) {
 4175     IdentitySrc = Ops[i].getOperand(0);
 4214         Op.getOperand(0).getValueType() != VT ||
 4215         (IdentitySrc && Op.getOperand(0) != IdentitySrc) ||
 4216         !isa<ConstantSDNode>(Op.getOperand(1)) ||
 4221     assert((!IdentitySrc || IdentitySrc == Op.getOperand(0)) &&
 4223     IdentitySrc = Op.getOperand(0);
 4510       return getNode(OpOpcode, DL, VT, Operand.getOperand(0));
 4529       return getNode(ISD::ZERO_EXTEND, DL, VT, Operand.getOperand(0));
 4551       return getNode(OpOpcode, DL, VT, Operand.getOperand(0));
 4557       SDValue OpOp = Operand.getOperand(0);
 4578       return getNode(ISD::TRUNCATE, DL, VT, Operand.getOperand(0));
 4582       if (Operand.getOperand(0).getValueType().getScalarType()
 4584         return getNode(OpOpcode, DL, VT, Operand.getOperand(0));
 4585       if (Operand.getOperand(0).getValueType().bitsGT(VT))
 4586         return getNode(ISD::TRUNCATE, DL, VT, Operand.getOperand(0));
 4587       return Operand.getOperand(0);
 4628       return getNode(ISD::BITCAST, DL, VT, Operand.getOperand(0));
 4643         isa<ConstantSDNode>(Operand.getOperand(1)) &&
 4645         Operand.getOperand(0).getValueType() == VT)
 4646       return Operand.getOperand(0);
 4656       return getNode(ISD::FSUB, DL, VT, Operand.getOperand(1),
 4657                      Operand.getOperand(0), Flags);
 4659       return Operand.getOperand(0);
 4663       return getNode(ISD::FABS, DL, VT, Operand.getOperand(0));
 5213       llvm::EVT OpVT = N1.getOperand(0).getValueType();
 5215         SDValue Op = N1.getOperand(i);
 5247         N1.getOperand(0).getValueType().getVectorNumElements();
 5249                      N1.getOperand(N2C->getZExtValue() / Factor),
 5257       SDValue Elt = N1.getOperand(N2C->getZExtValue());
 5274       SDValue N1Op2 = N1.getOperand(2);
 5279           if (VT == N1.getOperand(1).getValueType())
 5280             return N1.getOperand(1);
 5282             return getSExtOrTrunc(N1.getOperand(1), DL, VT);
 5285         return getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, N1.getOperand(0), N2);
 5294       return getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, N1.getOperand(0),
 5295                      N1.getOperand(1));
 5309       return N1.getOperand(N2C->getZExtValue());
 5347           VT == N1.getOperand(0).getValueType()) {
 5349         return N1.getOperand(N2C->getZExtValue() / Factor);
 5354       if (N1.getOpcode() == ISD::INSERT_SUBVECTOR && N2 == N1.getOperand(2) &&
 5355           VT == N1.getOperand(1).getValueType())
 5356         return N1.getOperand(1);
 5550           N2.getOperand(1) == N3 && N2.getOperand(0).getValueType() == VT)
 5550           N2.getOperand(1) == N3 && N2.getOperand(0).getValueType() == VT)
 5551         return N2.getOperand(0);
 5724            Src.getOperand(0).getOpcode() == ISD::GlobalAddress &&
 5725            Src.getOperand(1).getOpcode() == ISD::Constant) {
 5726     G = cast<GlobalAddressSDNode>(Src.getOperand(0));
 5727     SrcDelta = cast<ConstantSDNode>(Src.getOperand(1))->getZExtValue();
 6668       !isa<ConstantSDNode>(Ptr.getOperand(1)) ||
 6669       !isa<FrameIndexSDNode>(Ptr.getOperand(0)))
 6672   int FI = cast<FrameIndexSDNode>(Ptr.getOperand(0))->getIndex();
 6675       Offset + cast<ConstantSDNode>(Ptr.getOperand(1))->getSExtValue());
 8692     V = V.getOperand(0);
 8697   while (V.getOpcode() == ISD::BITCAST && V.getOperand(0).hasOneUse())
 8698     V = V.getOperand(0);
 8704     V = V.getOperand(0);
 8711   V = peekThroughBitcasts(V.getOperand(1));
 9082     SDValue Op0 = Op.getOperand(0);
 9083     SDValue Op1 = Op.getOperand(1);
 9278              isa<FrameIndexSDNode>(Ptr.getOperand(0))) {
 9280     FrameIdx = cast<FrameIndexSDNode>(Ptr.getOperand(0))->getIndex();
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 2581                                MVT::Other, GuardVal.getOperand(0),
 5396     SDValue Op = N.getOperand(1);
 5405     getUnderlyingArgRegs(Regs, N.getOperand(0));
 9372           cast<RegisterSDNode>(Op.getOperand(1))->getReg() != Reg) &&
 9860           dyn_cast<LoadSDNode>(Res.getOperand(LowAddressOp).getNode()))
 9868       Res = Res.getOperand(0);
 9872       unsigned Reg = cast<RegisterSDNode>(Res.getOperand(1))->getReg();
 9884       unsigned Reg = cast<RegisterSDNode>(Res.getOperand(1))->getReg();
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
 2479   return ::CheckSame(MatcherTable, MatcherIndex, N.getOperand(ChildNo),
 2521   return ::CheckType(MatcherTable, MatcherIndex, N.getOperand(ChildNo), TLI,
 2537   return ::CheckCondCode(MatcherTable, MatcherIndex, N.getOperand(2));
 2567   return ::CheckInteger(MatcherTable, MatcherIndex, N.getOperand(ChildNo));
 2580   return C && SDISel.CheckAndMask(N.getOperand(0), C, Val);
 2593   return C && SDISel.CheckOrMask(N.getOperand(0), C, Val);
 2980       N = N.getOperand(ChildNo);
 2992       N = N.getOperand(ChildNo);
lib/CodeGen/SelectionDAG/TargetLowering.cpp
  484     auto *Op1C = dyn_cast<ConstantSDNode>(Op.getOperand(1));
  496       SDValue NewOp = TLO.DAG.getNode(Opcode, DL, VT, Op.getOperand(0), NewC);
  544           DAG.getNode(ISD::TRUNCATE, dl, SmallVT, Op.getOperand(0)),
  545           DAG.getNode(ISD::TRUNCATE, dl, SmallVT, Op.getOperand(1)));
  603     SDValue Src = peekThroughBitcasts(Op.getOperand(0));
  659     LHSKnown = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
  660     RHSKnown = DAG.computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
  666       return Op.getOperand(0);
  668       return Op.getOperand(1);
  672     LHSKnown = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
  673     RHSKnown = DAG.computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
  679       return Op.getOperand(0);
  681       return Op.getOperand(1);
  685     LHSKnown = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
  686     RHSKnown = DAG.computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
  691       return Op.getOperand(0);
  693       return Op.getOperand(1);
  698     EVT ExVT = cast<VTSDNode>(Op.getOperand(1))->getVT();
  700       return Op.getOperand(0);
  705     SDValue Vec = Op.getOperand(0);
  706     auto *CIdx = dyn_cast<ConstantSDNode>(Op.getOperand(2));
  731       return Op.getOperand(0);
  733       return Op.getOperand(1);
  815     SDValue Src = Op.getOperand(0);
  837     SDValue Vec = Op.getOperand(0);
  838     SDValue Scl = Op.getOperand(1);
  839     auto *CIdx = dyn_cast<ConstantSDNode>(Op.getOperand(2));
  875     SDValue Base = Op.getOperand(0);
  876     SDValue Sub = Op.getOperand(1);
  884     if (isa<ConstantSDNode>(Op.getOperand(2))) {
  915     SDValue Src = Op.getOperand(0);
  916     ConstantSDNode *SubIdx = dyn_cast<ConstantSDNode>(Op.getOperand(1));
  931     EVT SubVT = Op.getOperand(0).getValueType();
  937       if (SimplifyDemandedBits(Op.getOperand(i), DemandedBits, DemandedSubElts,
  973       SDValue Op0 = Op.getOperand(0);
  974       SDValue Op1 = Op.getOperand(1);
 1008     SDValue Op0 = Op.getOperand(0);
 1009     SDValue Op1 = Op.getOperand(1);
 1035         SDValue Xor = TLO.DAG.getNode(ISD::XOR, dl, VT, Op0.getOperand(0), Op1);
 1086     SDValue Op0 = Op.getOperand(0);
 1087     SDValue Op1 = Op.getOperand(1);
 1132     SDValue Op0 = Op.getOperand(0);
 1133     SDValue Op1 = Op.getOperand(1);
 1210     if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, Known, TLO,
 1213     if (SimplifyDemandedBits(Op.getOperand(1), DemandedBits, Known2, TLO,
 1228     if (SimplifyDemandedBits(Op.getOperand(3), DemandedBits, Known, TLO,
 1231     if (SimplifyDemandedBits(Op.getOperand(2), DemandedBits, Known2, TLO,
 1246     SDValue Op0 = Op.getOperand(0);
 1247     SDValue Op1 = Op.getOperand(1);
 1248     ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
 1274     SDValue Op0 = Op.getOperand(0);
 1275     SDValue Op1 = Op.getOperand(1);
 1293                   isConstOrConstSplat(Op0.getOperand(1), DemandedElts)) {
 1305                   Op, TLO.DAG.getNode(Opc, dl, VT, Op0.getOperand(0), NewSA));
 1324         SDValue InnerOp = Op0.getOperand(0);
 1346                   isConstOrConstSplat(InnerOp.getOperand(1))) {
 1355                                                InnerOp.getOperand(0));
 1371     SDValue Op0 = Op.getOperand(0);
 1372     SDValue Op1 = Op.getOperand(1);
 1397                 isConstOrConstSplat(Op0.getOperand(1), DemandedElts)) {
 1411                   Op, TLO.DAG.getNode(Opc, dl, VT, Op0.getOperand(0), NewSA));
 1430     SDValue Op0 = Op.getOperand(0);
 1431     SDValue Op1 = Op.getOperand(1);
 1494     SDValue Op0 = Op.getOperand(0);
 1495     SDValue Op1 = Op.getOperand(1);
 1496     SDValue Op2 = Op.getOperand(2);
 1532     SDValue Src = Op.getOperand(0);
 1542     SDValue Op0 = Op.getOperand(0);
 1543     EVT ExVT = cast<VTSDNode>(Op.getOperand(1))->getVT();
 1599     EVT HalfVT = Op.getOperand(0).getValueType();
 1607     if (SimplifyDemandedBits(Op.getOperand(0), MaskLo, KnownLo, TLO, Depth + 1))
 1610     if (SimplifyDemandedBits(Op.getOperand(1), MaskHi, KnownHi, TLO, Depth + 1))
 1622     SDValue Src = Op.getOperand(0);
 1655     SDValue Src = Op.getOperand(0);
 1703     SDValue Src = Op.getOperand(0);
 1727     SDValue Src = Op.getOperand(0);
 1756         auto *ShAmt = dyn_cast<ConstantSDNode>(Src.getOperand(1));
 1760         SDValue Shift = Src.getOperand(1);
 1775               TLO.DAG.getNode(ISD::TRUNCATE, dl, VT, Src.getOperand(0));
 1789     EVT ZVT = cast<VTSDNode>(Op.getOperand(1))->getVT();
 1791     if (SimplifyDemandedBits(Op.getOperand(0), ~InMask | DemandedBits, Known,
 1800     SDValue Src = Op.getOperand(0);
 1801     SDValue Idx = Op.getOperand(1);
 1827     SDValue Src = Op.getOperand(0);
 1923     SDValue Op0 = Op.getOperand(0), Op1 = Op.getOperand(1);
 1923     SDValue Op0 = Op.getOperand(0), Op1 = Op.getOperand(1);
 2074     SDValue C0 = getUndefOrConstantElt(BO.getOperand(0), i, UndefOp0);
 2075     SDValue C1 = getUndefOrConstantElt(BO.getOperand(1), i, UndefOp1);
 2129     SDValue Src = Op.getOperand(0);
 2218                        [&](SDValue Elt) { return Op.getOperand(0) != Elt; })) {
 2233       SDValue SrcOp = Op.getOperand(i);
 2244     EVT SubVT = Op.getOperand(0).getValueType();
 2248       SDValue SubOp = Op.getOperand(i);
 2260     if (!isa<ConstantSDNode>(Op.getOperand(2)))
 2262     SDValue Base = Op.getOperand(0);
 2263     SDValue Sub = Op.getOperand(1);
 2283                                            Op.getOperand(1),
 2284                                            Op.getOperand(2)));
 2294     SDValue Src = Op.getOperand(0);
 2295     ConstantSDNode *SubIdx = dyn_cast<ConstantSDNode>(Op.getOperand(1));
 2311     SDValue Vec = Op.getOperand(0);
 2312     SDValue Scl = Op.getOperand(1);
 2313     auto *CIdx = dyn_cast<ConstantSDNode>(Op.getOperand(2));
 2353     if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, UnusedUndef,
 2362     if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedLHS, UndefLHS,
 2365     if (SimplifyDemandedVectorElts(Op.getOperand(2), DemandedRHS, UndefRHS,
 2393     if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedLHS, UndefLHS,
 2396     if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedRHS, UndefRHS,
 2421           buildLegalVectorShuffle(VT, DL, Op.getOperand(0), Op.getOperand(1),
 2421           buildLegalVectorShuffle(VT, DL, Op.getOperand(0), Op.getOperand(1),
 2450     SDValue Src = Op.getOperand(0);
 2487     if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedElts, UndefRHS,
 2491     if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, UndefLHS,
 2505     if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedElts, UndefRHS,
 2509     if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, UndefLHS,
 2520     if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedElts, SrcUndef,
 2523     if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, KnownUndef,
 2539     if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, KnownUndef,
 2794   if (N0.getOperand(0) == N1) {
 2795     X = N0.getOperand(1);
 2796     Y = N0.getOperand(0);
 2797   } else if (N0.getOperand(1) == N1) {
 2798     X = N0.getOperand(0);
 2799     Y = N0.getOperand(1);
 2968     C = V.getOperand(0);
 2973     Y = V.getOperand(1);
 2985   X = N0.getOperand(0);
 2986   SDValue Mask = N0.getOperand(1);
 3021   SDValue X = N0.getOperand(0);
 3022   SDValue Y = N0.getOperand(1);
 3087         N0.getOperand(0).getOpcode() == ISD::CTLZ &&
 3088         N0.getOperand(1).getOpcode() == ISD::Constant) {
 3102         return DAG.getSetCC(dl, VT, N0.getOperand(0).getOperand(0),
 3102         return DAG.getSetCC(dl, VT, N0.getOperand(0).getOperand(0),
 3110       CTPOP = N0.getOperand(0);
 3116       SDValue CTOp = CTPOP.getOperand(0);
 3225               cast<CondCodeSDNode>(TopSetCC.getOperand(2))->get(),
 3226               TopSetCC.getOperand(0).getValueType().isInteger());
 3227           return DAG.getSetCC(dl, VT, TopSetCC.getOperand(0),
 3228                                       TopSetCC.getOperand(1),
 3241         isa<LoadSDNode>(N0.getOperand(0)) &&
 3242         N0.getOperand(0).getNode()->hasOneUse() &&
 3243         isa<ConstantSDNode>(N0.getOperand(1))) {
 3244       LoadSDNode *Lod = cast<LoadSDNode>(N0.getOperand(0));
 3295       unsigned InSize = N0.getOperand(0).getValueSizeInBits();
 3331         EVT newVT = N0.getOperand(0).getValueType();
 3339           SDValue NewSetCC = DAG.getSetCC(dl, NewSetCCVT, N0.getOperand(0),
 3350       EVT ExtSrcTy = cast<VTSDNode>(N0.getOperand(1))->getVT();
 3361       EVT Op0Ty = N0.getOperand(0).getValueType();
 3363         ZextOp = N0.getOperand(0);
 3366         ZextOp = DAG.getNode(ISD::AND, dl, Op0Ty, N0.getOperand(0),
 3384            getBooleanContents(N0.getOperand(0).getValueType()) ==
 3390         ISD::CondCode CC = cast<CondCodeSDNode>(N0.getOperand(2))->get();
 3392                                   N0.getOperand(0).getValueType().isInteger());
 3394             isCondCodeLegal(CC, N0.getOperand(0).getSimpleValueType()))
 3395           return DAG.getSetCC(dl, VT, N0.getOperand(0), N0.getOperand(1), CC);
 3395           return DAG.getSetCC(dl, VT, N0.getOperand(0), N0.getOperand(1), CC);
 3400             N0.getOperand(0).getOpcode() == ISD::XOR &&
 3401             N0.getOperand(1) == N0.getOperand(0).getOperand(1))) &&
 3401             N0.getOperand(1) == N0.getOperand(0).getOperand(1))) &&
 3401             N0.getOperand(1) == N0.getOperand(0).getOperand(1))) &&
 3402           isa<ConstantSDNode>(N0.getOperand(1)) &&
 3403           cast<ConstantSDNode>(N0.getOperand(1))->isOne()) {
 3413             Val = N0.getOperand(0);
 3416                     N0.getOperand(0).getOpcode() == ISD::XOR);
 3419                               N0.getOperand(0).getOperand(0),
 3419                               N0.getOperand(0).getOperand(0),
 3420                               N0.getOperand(1));
 3432           Op0 = Op0.getOperand(0);
 3435             Op0.getOperand(0).getOpcode() == ISD::SETCC &&
 3436             Op0.getOperand(1).getOpcode() == ISD::SETCC) {
 3439           return DAG.getSetCC(dl, VT, Op0.getOperand(0), Op0.getOperand(1),
 3439           return DAG.getSetCC(dl, VT, Op0.getOperand(0), Op0.getOperand(1),
 3443             isa<ConstantSDNode>(Op0.getOperand(1)) &&
 3444             cast<ConstantSDNode>(Op0.getOperand(1))->isOne()) {
 3448                           DAG.getNode(ISD::TRUNCATE, dl, VT, Op0.getOperand(0)),
 3452                         DAG.getNode(ISD::ANY_EXTEND, dl, VT, Op0.getOperand(0)),
 3460             cast<VTSDNode>(Op0.getOperand(1))->getVT() == MVT::i1)
 3473       KnownBits XKnown = DAG.computeKnownBits(N0.getOperand(0));
 3474       KnownBits YKnown = DAG.computeKnownBits(N0.getOperand(1));
 3476         return DAG.getSetCC(dl, VT, N0.getOperand(0), N1, Cond);
 3618       if (auto *AndRHS = dyn_cast<ConstantSDNode>(N0.getOperand(1))) {
 3648         if (auto *AndRHS = dyn_cast<ConstantSDNode>(N0.getOperand(1))) {
 3656             SDValue Shift = DAG.getNode(ISD::SRL, dl, CmpTy, N0.getOperand(0),
 3713         return DAG.getSetCC(dl, VT, N0.getOperand(0), NegN1, SwapCond);
 3782         if (N0.getOperand(0) == N1.getOperand(0))
 3782         if (N0.getOperand(0) == N1.getOperand(0))
 3783           return DAG.getSetCC(dl, VT, N0.getOperand(1), N1.getOperand(1), Cond);
 3783           return DAG.getSetCC(dl, VT, N0.getOperand(1), N1.getOperand(1), Cond);
 3784         if (N0.getOperand(1) == N1.getOperand(1))
 3784         if (N0.getOperand(1) == N1.getOperand(1))
 3785           return DAG.getSetCC(dl, VT, N0.getOperand(0), N1.getOperand(0), Cond);
 3785           return DAG.getSetCC(dl, VT, N0.getOperand(0), N1.getOperand(0), Cond);
 3788           if (N0.getOperand(0) == N1.getOperand(1))
 3788           if (N0.getOperand(0) == N1.getOperand(1))
 3789             return DAG.getSetCC(dl, VT, N0.getOperand(1), N1.getOperand(0),
 3789             return DAG.getSetCC(dl, VT, N0.getOperand(1), N1.getOperand(0),
 3791           if (N0.getOperand(1) == N1.getOperand(0))
 3791           if (N0.getOperand(1) == N1.getOperand(0))
 3792             return DAG.getSetCC(dl, VT, N0.getOperand(0), N1.getOperand(1),
 3792             return DAG.getSetCC(dl, VT, N0.getOperand(0), N1.getOperand(1),
 3802         if (auto *LHSR = dyn_cast<ConstantSDNode>(N0.getOperand(1))) {
 3805             return DAG.getSetCC(dl, VT, N0.getOperand(0),
 3815             if (DAG.MaskedValueIsZero(N0.getOperand(0), ~LHSR->getAPIntValue()))
 3817                 DAG.getSetCC(dl, VT, N0.getOperand(0),
 3825         if (auto *SUBC = dyn_cast<ConstantSDNode>(N0.getOperand(0))) {
 3828               DAG.getSetCC(dl, VT, N0.getOperand(1),
 4096           if ((C = dyn_cast<ConstantSDNode>(Op.getOperand(0))))
 4097             Op = Op.getOperand(1);
 4100                    (C = dyn_cast<ConstantSDNode>(Op.getOperand(1))))
 4101             Op = Op.getOperand(0);
 5009   SDValue N = REMNode.getOperand(0);
 5010   SDValue D = REMNode.getOperand(1);
 5212   SDValue N = REMNode.getOperand(0);
 5213   SDValue D = REMNode.getOperand(1);
 5333   if (!isa<ConstantSDNode>(Op.getOperand(0))) {
 5354                            isFPExtFree(VT, Op.getOperand(0).getValueType())))
 5398     if (char V = isNegatibleForFree(Op.getOperand(0), DAG, LegalOperations,
 5402     return isNegatibleForFree(Op.getOperand(1), DAG, LegalOperations,
 5415     if (char V = isNegatibleForFree(Op.getOperand(0), DAG, LegalOperations,
 5420     if (auto *C = isConstOrConstSplatFP(Op.getOperand(1)))
 5424     return isNegatibleForFree(Op.getOperand(1), DAG, LegalOperations,
 5434     char V2 = isNegatibleForFree(Op.getOperand(2), DAG, LegalOperations,
 5440     char V0 = isNegatibleForFree(Op.getOperand(0), DAG, LegalOperations,
 5442     char V1 = isNegatibleForFree(Op.getOperand(1), DAG, LegalOperations,
 5451     return isNegatibleForFree(Op.getOperand(0), DAG, LegalOperations,
 5464     return Op.getOperand(0);
 5495     if (isNegatibleForFree(Op.getOperand(0), DAG, LegalOperations, ForCodeSize,
 5498                          getNegatedExpression(Op.getOperand(0), DAG,
 5501                          Op.getOperand(1), Flags);
 5504                        getNegatedExpression(Op.getOperand(1), DAG,
 5507                        Op.getOperand(0), Flags);
 5511             isConstOrConstSplatFP(Op.getOperand(0), /*AllowUndefs*/ true))
 5513         return Op.getOperand(1);
 5517                        Op.getOperand(1), Op.getOperand(0), Flags);
 5517                        Op.getOperand(1), Op.getOperand(0), Flags);
 5522     if (isNegatibleForFree(Op.getOperand(0), DAG, LegalOperations, ForCodeSize,
 5525                          getNegatedExpression(Op.getOperand(0), DAG,
 5528                          Op.getOperand(1), Flags);
 5532         Op.getOpcode(), SDLoc(Op), Op.getValueType(), Op.getOperand(0),
 5533         getNegatedExpression(Op.getOperand(1), DAG, LegalOperations,
 5543     SDValue Neg2 = getNegatedExpression(Op.getOperand(2), DAG, LegalOperations,
 5546     char V0 = isNegatibleForFree(Op.getOperand(0), DAG, LegalOperations,
 5548     char V1 = isNegatibleForFree(Op.getOperand(1), DAG, LegalOperations,
 5553           Op.getOperand(0), DAG, LegalOperations, ForCodeSize, Depth + 1);
 5555                          Op.getOperand(1), Neg2, Flags);
 5559     SDValue Neg1 = getNegatedExpression(Op.getOperand(1), DAG, LegalOperations,
 5562                        Op.getOperand(0), Neg1, Neg2, Flags);
 5568                        getNegatedExpression(Op.getOperand(0), DAG,
 5573                        getNegatedExpression(Op.getOperand(0), DAG,
 5576                        Op.getOperand(1));
 6479           return std::make_pair(Scalarized.getOperand(0), Scalarized.getOperand(1));
 6479           return std::make_pair(Scalarized.getOperand(0), Scalarized.getOperand(1));
 6862   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
 6864   if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
 6866       EVT VT = Op.getOperand(0).getValueType();
 6867       SDValue Zext = Op.getOperand(0);
 6870         Zext = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Op.getOperand(0));
 7285       BottomHalf = Ret.getOperand(0);
 7286       TopHalf = Ret.getOperand(1);
 7288       BottomHalf = Ret.getOperand(1);
 7289       TopHalf = Ret.getOperand(0);
lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
  379   auto *CSD = dyn_cast<ConstantSDNode>(V.getOperand(1));
  410     const SDValue LHS = V.getOperand(0);
  411     const SDValue RHS = V.getOperand(1);
  435   if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
  440     Reg = N.getOperand(0);
  456       SrcVT = cast<VTSDNode>(N.getOperand(1))->getVT();
  458       SrcVT = N.getOperand(0).getValueType();
  471     EVT SrcVT = N.getOperand(0).getValueType();
  482     ConstantSDNode *CSD = dyn_cast<ConstantSDNode>(N.getOperand(1));
  512   SDValue EV = SV.getOperand(1);
  517   ConstantSDNode *EVidx = cast<ConstantSDNode>(EV.getOperand(1).getNode());
  519   LaneOp = EV.getOperand(0);
  550       !checkV64LaneV128(Op1.getOperand(0), Op1.getOperand(1), MLAOp1, MLAOp2,
  550       !checkV64LaneV128(Op1.getOperand(0), Op1.getOperand(1), MLAOp1, MLAOp2,
  554         !checkV64LaneV128(Op1.getOperand(0), Op1.getOperand(1), MLAOp1, MLAOp2,
  554         !checkV64LaneV128(Op1.getOperand(0), Op1.getOperand(1), MLAOp1, MLAOp2,
  655     ConstantSDNode *CSD = dyn_cast<ConstantSDNode>(N.getOperand(1));
  662     Ext = getExtendTypeForNode(N.getOperand(0));
  666     Reg = N.getOperand(0).getOperand(0);
  666     Reg = N.getOperand(0).getOperand(0);
  672     Reg = N.getOperand(0);
  733     if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
  741           Base = N.getOperand(0);
  756           Base = N.getOperand(0);
  793         dyn_cast<GlobalAddressSDNode>(N.getOperand(1).getNode());
  794     Base = N.getOperand(0);
  795     OffImm = N.getOperand(1);
  812     if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
  816         Base = N.getOperand(0);
  851   if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
  858       Base = N.getOperand(0);
  888   ConstantSDNode *CSD = dyn_cast<ConstantSDNode>(N.getOperand(1));
  895         getExtendTypeForNode(N.getOperand(0), true);
  899     Offset = narrowIfNeeded(CurDAG, N.getOperand(0).getOperand(0));
  899     Offset = narrowIfNeeded(CurDAG, N.getOperand(0).getOperand(0));
  903     Offset = N.getOperand(0);
  922   SDValue LHS = N.getOperand(0);
  923   SDValue RHS = N.getOperand(1);
  968     Offset = narrowIfNeeded(CurDAG, LHS.getOperand(0));
  980     Offset = narrowIfNeeded(CurDAG, RHS.getOperand(0));
 1011   SDValue LHS = N.getOperand(0);
 1012   SDValue RHS = N.getOperand(1);
 1402   EVT WideVT = RegSeq.getOperand(1)->getValueType(0);
 1454     EVT WideVT = RegSeq.getOperand(1)->getValueType(0);
 1578     Opd0 = Widen(CurDAG, Op0->getOperand(0).getOperand(0));
 1586     Opd0 = Op0->getOperand(0).getOperand(0);
 1653   Opd0 = Op.getOperand(0);
 1683   Opd0 = N->getOperand(0).getOperand(0);
 1727     Opd0 = N->getOperand(0).getOperand(0);
 1734     Opd0 = N->getOperand(0).getOperand(0);
 1787   SDValue Opd0 = Widen(CurDAG, Op.getOperand(0));
 1902       cast<const ConstantSDNode>(Op.getOperand(1).getNode())->getZExtValue();
 1938       cast<const ConstantSDNode>(Op.getOperand(1).getNode())->getZExtValue();
 1940       cast<const ConstantSDNode>(Op.getOperand(2).getNode())->getZExtValue();
 1948       cast<const ConstantSDNode>(Op.getOperand(2).getNode())->getZExtValue();
 1976       cast<const ConstantSDNode>(Op.getOperand(2).getNode())->getZExtValue();
 1978       cast<const ConstantSDNode>(Op.getOperand(3).getNode())->getZExtValue();
 1997     if (Op.getOperand(1) == Orig) {
 2003     if (Op.getOperand(0) == Orig)
 2015     if (Op.getOperand(1) == Orig) {
 2021     if (Op.getOperand(0) == Orig)
 2153     Op = Op.getOperand(0);
 2164   Op = Op.getOperand(0);
 2273   SDValue Ops[] = {And.getOperand(0), SDValue(MOVI, 0),
lib/Target/AArch64/AArch64ISelLowering.cpp
  994     New = TLO.DAG.getNode(Op.getOpcode(), DL, VT, Op.getOperand(0),
 1002         TLO.DAG.getMachineNode(NewOpc, DL, VT, Op.getOperand(0), EncConst), 0);
 1043   ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op.getOperand(1));
 1092     unsigned IntNo = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 1102       MVT VT = Op.getOperand(1).getValueType().getSimpleVT();
 1598   return Op.getOpcode() == ISD::SUB && isNullConstant(Op.getOperand(0)) &&
 1627     RHS = RHS.getOperand(1);
 1632     LHS = LHS.getOperand(1);
 1639     RHS = LHS.getOperand(1);
 1640     LHS = LHS.getOperand(0);
 1717     SDValue SubOp0 = RHS.getOperand(0);
 1721       RHS = RHS.getOperand(1);
 1942       if (ConstantSDNode *MaskCst = dyn_cast<ConstantSDNode>(V.getOperand(1))) {
 1958     if (ConstantSDNode *ShiftCst = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
 1960       if (isSupportedExtend(Op.getOperand(0)))
 2040     SDValue TheLHS = isCMN(LHS, CC) ? LHS.getOperand(1) : LHS;
 2107   SDValue LHS = Op.getOperand(0);
 2108   SDValue RHS = Op.getOperand(1);
 2233   SDValue Sel = Op.getOperand(0);
 2234   SDValue Other = Op.getOperand(1);
 2271   ISD::CondCode CC = cast<CondCodeSDNode>(Sel.getOperand(4))->get();
 2272   SDValue LHS = Sel.getOperand(0);
 2273   SDValue RHS = Sel.getOperand(1);
 2274   SDValue TVal = Sel.getOperand(2);
 2275   SDValue FVal = Sel.getOperand(3);
 2343     return DAG.getNode(Opc, SDLoc(Op), VTs, Op.getOperand(0), Op.getOperand(1));
 2343     return DAG.getNode(Opc, SDLoc(Op), VTs, Op.getOperand(0), Op.getOperand(1));
 2344   return DAG.getNode(Opc, SDLoc(Op), VTs, Op.getOperand(0), Op.getOperand(1),
 2344   return DAG.getNode(Opc, SDLoc(Op), VTs, Op.getOperand(0), Op.getOperand(1),
 2345                      Op.getOperand(2));
 2381   unsigned IsWrite = cast<ConstantSDNode>(Op.getOperand(2))->getZExtValue();
 2382   unsigned Locality = cast<ConstantSDNode>(Op.getOperand(3))->getZExtValue();
 2383   unsigned IsData = cast<ConstantSDNode>(Op.getOperand(4))->getZExtValue();
 2401   return DAG.getNode(AArch64ISD::PREFETCH, DL, MVT::Other, Op.getOperand(0),
 2402                      DAG.getConstant(PrfOp, DL, MVT::i32), Op.getOperand(1));
 2410   LC = RTLIB::getFPEXT(Op.getOperand(0).getValueType(), Op.getValueType());
 2417   if (Op.getOperand(0).getValueType() != MVT::f128) {
 2423   LC = RTLIB::getFPROUND(Op.getOperand(0).getValueType(), Op.getValueType());
 2428   SDValue SrcVal = Op.getOperand(0);
 2439   EVT InVT = Op.getOperand(0).getValueType();
 2450         DAG.getNode(ISD::FP_EXTEND, dl, NewVT, Op.getOperand(0)));
 2457                     Op.getOperand(0));
 2466     SDValue Ext = DAG.getNode(ISD::FP_EXTEND, dl, ExtVT, Op.getOperand(0));
 2476   if (Op.getOperand(0).getValueType().isVector())
 2480   if (Op.getOperand(0).getValueType() == MVT::f16 &&
 2485         DAG.getNode(ISD::FP_EXTEND, dl, MVT::f32, Op.getOperand(0)));
 2488   if (Op.getOperand(0).getValueType() != MVT::f128) {
 2495     LC = RTLIB::getFPTOSINT(Op.getOperand(0).getValueType(), Op.getValueType());
 2497     LC = RTLIB::getFPTOUINT(Op.getOperand(0).getValueType(), Op.getValueType());
 2510   SDValue In = Op.getOperand(0);
 2543         DAG.getNode(Op.getOpcode(), dl, MVT::f32, Op.getOperand(0)),
 2548   if (Op.getOperand(0).getValueType() == MVT::i128)
 2558     LC = RTLIB::getSINTTOFP(Op.getOperand(0).getValueType(), Op.getValueType());
 2560     LC = RTLIB::getUINTTOFP(Op.getOperand(0).getValueType(), Op.getValueType());
 2570   SDValue Arg = Op.getOperand(0);
 2603   assert(Op.getOperand(0).getValueType() == MVT::i16);
 2606   Op = DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i32, Op.getOperand(0));
 2756   SDNode *N0 = Op.getOperand(0).getNode();
 2757   SDNode *N1 = Op.getOperand(1).getNode();
 2821   unsigned IntNo = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 2833                                    Op.getOperand(1));
 2837       return DAG.getNode(ISD::ABS, dl, Ty, Op.getOperand(1));
 2844                        Op.getOperand(1), Op.getOperand(2));
 2844                        Op.getOperand(1), Op.getOperand(2));
 2847                        Op.getOperand(1), Op.getOperand(2));
 2847                        Op.getOperand(1), Op.getOperand(2));
 2850                        Op.getOperand(1), Op.getOperand(2));
 2850                        Op.getOperand(1), Op.getOperand(2));
 2853                        Op.getOperand(1), Op.getOperand(2));
 2853                        Op.getOperand(1), Op.getOperand(2));
 2857                        Op.getOperand(1));
 2860                        Op.getOperand(1));
 2863                        Op.getOperand(1));
 2866                        Op.getOperand(1));
 2880     SDValue FnOp = Op.getOperand(1);
 2881     SDValue IncomingFPOp = Op.getOperand(2);
 4677   SDValue Chain = Op.getOperand(0);
 4678   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();
 4679   SDValue LHS = Op.getOperand(2);
 4680   SDValue RHS = Op.getOperand(3);
 4681   SDValue Dest = Op.getOperand(4);
 4740             isa<ConstantSDNode>(LHS.getOperand(1)) &&
 4742           SDValue Test = LHS.getOperand(0);
 4756             isa<ConstantSDNode>(LHS.getOperand(1)) &&
 4758           SDValue Test = LHS.getOperand(0);
 4816   SDValue In1 = Op.getOperand(0);
 4817   SDValue In2 = Op.getOperand(1);
 4901   SDValue Val = Op.getOperand(0);
 4948   SDValue LHS = Op.getOperand(0);
 4949   SDValue RHS = Op.getOperand(1);
 4950   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
 5062       if (isAllOnesConstant(TVal.getOperand(1))) {
 5070       if (isNullConstant(TVal.getOperand(0))) {
 5206   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(4))->get();
 5207   SDValue LHS = Op.getOperand(0);
 5208   SDValue RHS = Op.getOperand(1);
 5209   SDValue TVal = Op.getOperand(2);
 5210   SDValue FVal = Op.getOperand(3);
 5242     LHS = CCVal.getOperand(0);
 5243     RHS = CCVal.getOperand(1);
 5273   SDValue JT = Op.getOperand(1);
 5274   SDValue Entry = Op.getOperand(2);
 5280   return DAG.getNode(ISD::BRIND, DL, MVT::Other, Op.getOperand(0),
 5322   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 5323   return DAG.getStore(Op.getOperand(0), DL, FR, Op.getOperand(1),
 5323   return DAG.getStore(Op.getOperand(0), DL, FR, Op.getOperand(1),
 5337   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 5338   return DAG.getStore(Op.getOperand(0), DL, FR, Op.getOperand(1),
 5338   return DAG.getStore(Op.getOperand(0), DL, FR, Op.getOperand(1),
 5351   SDValue Chain = Op.getOperand(0);
 5352   SDValue VAList = Op.getOperand(1);
 5353   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 5431   const Value *DestSV = cast<SrcValueSDNode>(Op.getOperand(3))->getValue();
 5432   const Value *SrcSV = cast<SrcValueSDNode>(Op.getOperand(4))->getValue();
 5434   return DAG.getMemcpy(Op.getOperand(0), DL, Op.getOperand(1), Op.getOperand(2),
 5434   return DAG.getMemcpy(Op.getOperand(0), DL, Op.getOperand(1), Op.getOperand(2),
 5434   return DAG.getMemcpy(Op.getOperand(0), DL, Op.getOperand(1), Op.getOperand(2),
 5444   const Value *V = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 5447   SDValue Chain = Op.getOperand(0);
 5448   SDValue Addr = Op.getOperand(1);
 5513   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 5579   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 5601   SDValue ShOpLo = Op.getOperand(0);
 5602   SDValue ShOpHi = Op.getOperand(1);
 5603   SDValue ShAmt = Op.getOperand(2);
 5658   SDValue ShOpLo = Op.getOperand(0);
 5659   SDValue ShOpHi = Op.getOperand(1);
 5660   SDValue ShAmt = Op.getOperand(2);
 6287     SDValue V = Op.getOperand(i);
 6291              !isa<ConstantSDNode>(V.getOperand(1))) {
 6301     SDValue SourceVec = V.getOperand(0);
 6307     unsigned EltNo = cast<ConstantSDNode>(V.getOperand(1))->getZExtValue();
 6416     SDValue Entry = Op.getOperand(i);
 6420     auto Src = find(Sources, Entry.getOperand(0));
 6421     int EltNo = cast<ConstantSDNode>(Entry.getOperand(1))->getSExtValue();
 6426     EVT OrigEltTy = Entry.getOperand(0).getValueType().getVectorElementType();
 6720   SDValue V0 = Op.getOperand(0);
 6721   SDValue V1 = Op.getOperand(1);
 6852   SDValue V1 = Op.getOperand(0);
 6853   SDValue V2 = Op.getOperand(1);
 6937   SDValue V1 = Op.getOperand(0);
 6938   SDValue V2 = Op.getOperand(1);
 6948                          V1.getOperand(0));
 6952         !isa<ConstantSDNode>(V1.getOperand(Lane)))
 6953       return DAG.getNode(AArch64ISD::DUP, dl, VT, V1.getOperand(Lane));
 6962       Lane += cast<ConstantSDNode>(V1.getOperand(1))->getZExtValue();
 6963       V1 = V1.getOperand(0);
 6967       V1 = WidenVector(V1.getOperand(Idx), DAG);
 7082   SDValue SplatVal = Op.getOperand(0);
 7386   ConstantSDNode *C2node = dyn_cast<ConstantSDNode>(Shift.getOperand(1));
 7392   if (!isAllConstantBuildVector(And.getOperand(1), C1))
 7405   SDValue X = And.getOperand(0);
 7406   SDValue Y = Shift.getOperand(0);
 7413                   Shift.getOperand(1));
 7434   SDValue LHS = Op.getOperand(0);
 7436       dyn_cast<BuildVectorSDNode>(Op.getOperand(1).getNode());
 7439     LHS = Op.getOperand(1);
 7440     BVN = dyn_cast<BuildVectorSDNode>(Op.getOperand(0).getNode());
 7589     SDValue V = Op.getOperand(i);
 7635       SDValue V = Op.getOperand(i);
 7702       SDValue Lane = Value.getOperand(1);
 7703       Value = Value.getOperand(0);
 7725         Ops.push_back(DAG.getNode(ISD::BITCAST, dl, NewType, Op.getOperand(i)));
 7752       SDValue V = Op.getOperand(i);
 7788     SDValue Op0 = Op.getOperand(0);
 7809       SDValue V = Op.getOperand(i);
 7829   EVT VT = Op.getOperand(0).getValueType();
 7830   ConstantSDNode *CI = dyn_cast<ConstantSDNode>(Op.getOperand(2));
 7848   SDValue WideVec = WidenVector(Op.getOperand(0), DAG);
 7852                              Op.getOperand(1), Op.getOperand(2));
 7852                              Op.getOperand(1), Op.getOperand(2));
 7863   EVT VT = Op.getOperand(0).getValueType();
 7864   ConstantSDNode *CI = dyn_cast<ConstantSDNode>(Op.getOperand(1));
 7882   SDValue WideVec = WidenVector(Op.getOperand(0), DAG);
 7891                      Op.getOperand(1));
 7896   EVT VT = Op.getOperand(0).getValueType();
 7902   ConstantSDNode *Cst = dyn_cast<ConstantSDNode>(Op.getOperand(1));
 7965     Op = Op.getOperand(0);
 8007   if (!Op.getOperand(1).getValueType().isVector())
 8016     if (isVShiftLImm(Op.getOperand(1), VT, false, Cnt) && Cnt < EltSize)
 8017       return DAG.getNode(AArch64ISD::VSHL, DL, VT, Op.getOperand(0),
 8022                        Op.getOperand(0), Op.getOperand(1));
 8022                        Op.getOperand(0), Op.getOperand(1));
 8026     if (isVShiftRImm(Op.getOperand(1), VT, false, Cnt) && Cnt < EltSize) {
 8029       return DAG.getNode(Opc, DL, VT, Op.getOperand(0),
 8039     SDValue NegShift = DAG.getNode(AArch64ISD::NEG, DL, VT, Op.getOperand(1));
 8042                     DAG.getConstant(Opc, DL, MVT::i32), Op.getOperand(0),
 8147   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
 8148   SDValue LHS = Op.getOperand(0);
 8149   SDValue RHS = Op.getOperand(1);
 8211   SDValue VecOp = ScalarOp.getOperand(0);
 8236         Op.getOperand(0));
 8243         Op.getOperand(0));
 8259   SDValue RHS = Op.getOperand(2);
 8263                        Op.getOperand(0), Op.getOperand(1), RHS,
 8263                        Op.getOperand(0), Op.getOperand(1), RHS,
 8276   SDValue RHS = Op.getOperand(2);
 8280                        Op.getOperand(0), Op.getOperand(1), RHS,
 8280                        Op.getOperand(0), Op.getOperand(1), RHS,
 8320   SDValue Chain = Op.getOperand(0);
 8321   SDValue Size = Op.getOperand(1);
 8322   unsigned Align = cast<ConstantSDNode>(Op.getOperand(2))->getZExtValue();
 8479       Base.getOperand(1).getOpcode() == ISD::SHL &&
 8480       Base.getOperand(1).hasOneUse() &&
 8481       Base.getOperand(1).getOperand(1).getOpcode() == ISD::Constant) {
 8481       Base.getOperand(1).getOperand(1).getOpcode() == ISD::Constant) {
 8484     uint64_t ShiftAmount = Base.getOperand(1).getConstantOperandVal(1);
 9284   auto *ShiftAmt = dyn_cast<ConstantSDNode>(Shift.getOperand(1));
 9289   return DAG.getNode(AArch64ISD::CMGEz, SDLoc(N), VT, Shift.getOperand(0));
 9303       N0.getOpcode() == ISD::ADD && N0.getOperand(1) == N1 &&
 9304       N1.getOpcode() == ISD::SRA && N1.getOperand(0) == N0.getOperand(0))
 9304       N1.getOpcode() == ISD::SRA && N1.getOperand(0) == N0.getOperand(0))
 9305     if (ConstantSDNode *Y1C = dyn_cast<ConstantSDNode>(N1.getOperand(1)))
 9308                                   N0.getOperand(0));
 9312                         N0.getOperand(0), DAG.getConstant(0, DL, VT));
 9313         return DAG.getNode(AArch64ISD::CSEL, DL, VT, N0.getOperand(0), Neg,
 9646       !Op.getOperand(0).getValueType().isSimple() ||
 9654   MVT IntTy = Op.getOperand(0).getSimpleValueType().getVectorElementType();
 9691   SDValue ConvInput = Op.getOperand(0);
 9715   if (!isa<ConstantSDNode>(N.getOperand(1)))
 9887     SDValue N00 = N0.getOperand(0);
10073     SDValue Vec = Op1.getOperand(0);
10074     SDValue Lane = Op1.getOperand(1);
10150     N = N.getOperand(0);
10153   return cast<ConstantSDNode>(N.getOperand(1))->getAPIntValue() ==
10154          N.getOperand(0).getValueType().getVectorNumElements() / 2;
10193     SetCCInfo.Info.Generic.Opnd0 = &Op.getOperand(0);
10194     SetCCInfo.Info.Generic.Opnd1 = &Op.getOperand(1);
10195     SetCCInfo.Info.Generic.CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
10207   SetCCInfo.Info.AArch64.Cmp = &Op.getOperand(3);
10210       cast<ConstantSDNode>(Op.getOperand(2))->getZExtValue());
10215   ConstantSDNode *TValue = dyn_cast<ConstantSDNode>(Op.getOperand(0));
10216   ConstantSDNode *FValue = dyn_cast<ConstantSDNode>(Op.getOperand(1));
10261                   ? InfoAndKind.Info.AArch64.Cmp->getOperand(0).getValueType()
10321   if (isEssentiallyExtractHighSubvector(LHS.getOperand(0))) {
10322     RHS = tryExtendDUPToExtractHigh(RHS.getOperand(0), DAG);
10327   } else if (isEssentiallyExtractHighSubvector(RHS.getOperand(0))) {
10328     LHS = tryExtendDUPToExtractHigh(LHS.getOperand(0), DAG);
10450   ConstantSDNode *CMask = dyn_cast<ConstantSDNode>(AndN.getOperand(1));
10455                      N->getOperand(0), N->getOperand(1), AndN.getOperand(0));
10715     SDValue EltVal = StVal.getOperand(I);
10773       SplatVal = StVal.getOperand(1);
10774     else if (StVal.getOperand(1) != SplatVal)
10778     ConstantSDNode *CIndex = dyn_cast<ConstantSDNode>(StVal.getOperand(2));
10786     StVal = StVal.getOperand(0);
11426   SDValue LHS = Cmp.getOperand(0);
11427   SDValue RHS = Cmp.getOperand(1);
11574   EVT CmpVT = N0.getOperand(0).getValueType();
11584                    N0.getOperand(0), N0.getOperand(1),
11584                    N0.getOperand(0), N0.getOperand(1),
11585                    cast<CondCodeSDNode>(N0.getOperand(2))->get());
11612   EVT SrcVT = N0.getOperand(0).getValueType();
11640       DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, SrcVT, N0.getOperand(0));
11642       DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, SrcVT, N0.getOperand(1));
11643   SDValue SetCC = DAG.getNode(ISD::SETCC, DL, CCVT, LHS, RHS, N0.getOperand(2));
lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
  324   return Val.getOpcode() == ISD::BITCAST ? Val.getOperand(0) : Val;
  333   SDValue Srl = In.getOperand(0);
  335     if (ConstantSDNode *ShiftAmt = dyn_cast<ConstantSDNode>(Srl.getOperand(1))) {
  337         Out = stripBitcast(Srl.getOperand(0));
  350     SDValue Src = In.getOperand(0);
  955              (C = dyn_cast<ConstantSDNode>(Addr.getOperand(0)))) {
  959             (C = dyn_cast<ConstantSDNode>(Addr.getOperand(1)))) {
  960     Base = Addr.getOperand(0);
 1171     SDValue N0 = Addr.getOperand(0);
 1172     SDValue N1 = Addr.getOperand(1);
 1182     if (const ConstantSDNode *C = dyn_cast<ConstantSDNode>(Addr.getOperand(0))) {
 1191                                       Zero, Addr.getOperand(1));
 1196           Opnds.push_back(Addr.getOperand(1));
 1246     SDValue N0 = Addr.getOperand(0);
 1247     SDValue N1 = Addr.getOperand(1);
 1260     if (const ConstantSDNode *C = dyn_cast<ConstantSDNode>(Addr.getOperand(0))) {
 1272                                       Zero, Addr.getOperand(1));
 1277           Opnds.push_back(Addr.getOperand(1));
 1349     C1 = cast<ConstantSDNode>(Addr.getOperand(1));
 1351       N0 = Addr.getOperand(0);
 1359     SDValue N2 = N0.getOperand(0);
 1360     SDValue N3 = N0.getOperand(1);
 1512     SDValue N0 = Addr.getOperand(0);
 1513     SDValue N1 = Addr.getOperand(1);
 1643     SDValue N0 = Addr.getOperand(0);
 1644     SDValue N1 = Addr.getOperand(1);
 1812     SDValue N0 = Addr.getOperand(0);
 1813     SDValue N1 = Addr.getOperand(1);
 1876     SDValue N0 = Index.getOperand(0);
 1877     SDValue N1 = Index.getOperand(1);
 1927       ReplaceNode(N, getS_BFE(Opcode, SDLoc(N), Shl.getOperand(0), CVal - BVal,
 1942       ConstantSDNode *Shift = dyn_cast<ConstantSDNode>(Srl.getOperand(1));
 1953                                   Srl.getOperand(0), ShiftVal, WidthVal));
 1975                                   And.getOperand(0), ShiftVal, WidthVal));
 1997     const ConstantSDNode *Amt = dyn_cast<ConstantSDNode>(Src.getOperand(1));
 2002     ReplaceNode(N, getS_BFE(AMDGPU::S_BFE_I32, SDLoc(N), Src.getOperand(0),
 2018     Cond = Cond.getOperand(2);
 2023   MVT VT = Cond.getOperand(0).getSimpleValueType();
 2030     ISD::CondCode CC = cast<CondCodeSDNode>(Cond.getOperand(2))->get();
 2209     SDValue PtrBase = Ptr.getOperand(0);
 2210     SDValue PtrOffset = Ptr.getOperand(1);
 2288       BaseOffset = BaseOffset.getOperand(0);
 2385     Src = Src.getOperand(0);
 2390     Src = Src.getOperand(0);
 2466     Src = Src.getOperand(0);
 2472     SDValue Lo = stripBitcast(Src.getOperand(0));
 2473     SDValue Hi = stripBitcast(Src.getOperand(1));
 2476       Lo = stripBitcast(Lo.getOperand(0));
 2481       Hi = stripBitcast(Hi.getOperand(0));
 2568     Src = Src.getOperand(0);
 2813              (C = dyn_cast<ConstantSDNode>(Addr.getOperand(0)))) {
 2817             (C = dyn_cast<ConstantSDNode>(Addr.getOperand(1)))) {
 2818     Base = Addr.getOperand(0);
 2833       && (IMMOffset = dyn_cast<ConstantSDNode>(Addr.getOperand(1)))
 2836       Base = Addr.getOperand(0);
lib/Target/AMDGPU/AMDGPUISelLowering.cpp
 1121   auto Ops = {DAG.getConstant(0, SDLoc(), Op.getValueType()), Op.getOperand(0)};
 1233     SDValue Lo = DAG.getNode(ISD::BITCAST, SL, MVT::i32, Op.getOperand(0));
 1234     SDValue Hi = DAG.getNode(ISD::BITCAST, SL, MVT::i32, Op.getOperand(1));
 1250   unsigned Start = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
 1252   DAG.ExtractVectorElements(Op.getOperand(0), Args, Start,
 1530   SDValue LHS = Op.getOperand(0);
 1531   SDValue RHS = Op.getOperand(1);
 1646   SDValue LHS = Op.getOperand(0);
 1650   SDValue RHS = Op.getOperand(1);
 1858   SDValue Num = Op.getOperand(0);
 1859   SDValue Den = Op.getOperand(1);
 1962   SDValue LHS = Op.getOperand(0);
 1963   SDValue RHS = Op.getOperand(1);
 2021   SDValue X = Op.getOperand(0);
 2022   SDValue Y = Op.getOperand(1);
 2035   SDValue Src = Op.getOperand(0);
 2075   SDValue Src = Op.getOperand(0);
 2124   SDValue Src = Op.getOperand(0);
 2153   return DAG.getNode(ISD::FRINT, SDLoc(Op), Op.getValueType(), Op.getOperand(0));
 2163   SDValue X = Op.getOperand(0);
 2192   SDValue X = Op.getOperand(0);
 2261   SDValue Src = Op.getOperand(0);
 2289   SDValue Operand = Op.getOperand(0);
 2300   SDValue Src = Op.getOperand(0);
 2317   SDValue Src = Op.getOperand(0);
 2411   SDValue Src = Op.getOperand(0);
 2477   SDValue Src = Op.getOperand(0);
 2499   assert(Op.getOperand(0).getValueType() == MVT::i64 &&
 2507     SDValue Src = Op.getOperand(0);
 2526   assert(Op.getOperand(0).getValueType() == MVT::i64 &&
 2534     SDValue Src = Op.getOperand(0);
 2555   SDValue Src = Op.getOperand(0);
 2582   SDValue N0 = Op.getOperand(0);
 2681   SDValue Src = Op.getOperand(0);
 2704   SDValue Src = Op.getOperand(0);
 2727   EVT ExtraVT = cast<VTSDNode>(Op.getOperand(1))->getVT();
 2733   SDValue Src = Op.getOperand(0);
 2965     SDValue Src = N0.getOperand(0);
 3131     if (auto *Mask = dyn_cast<ConstantSDNode>(LHS.getOperand(1))) {
 3136             DAG.getNode(ISD::SRL, SL, VT, LHS.getOperand(0), N->getOperand(1)),
 3137             DAG.getNode(ISD::SRL, SL, VT, LHS.getOperand(1), N->getOperand(1)));
 3174     SDValue Vec = Src.getOperand(0);
 3176       SDValue Elt0 = Vec.getOperand(0);
 3193     if (auto K = isConstOrConstSplat(Src.getOperand(1))) {
 3195         SDValue BV = stripBitcast(Src.getOperand(0));
 3198           SDValue SrcElt = BV.getOperand(1);
 3221       SDValue Amt = Src.getOperand(1);
 3232                                     Src.getOperand(0));
 3297     N0 = N0.getOperand(0);
 3300     N1 = N1.getOperand(0);
 3428   ConstantSDNode *CmpRhs = dyn_cast<ConstantSDNode>(Cond.getOperand(1));
 3433   ISD::CondCode CCOpcode = cast<CondCodeSDNode>(Cond.getOperand(2))->get();
 3434   SDValue CmpLHS = Cond.getOperand(0);
 3443       RHS.getOperand(0) == CmpLHS &&
 3452       LHS.getOperand(0) == CmpLHS &&
 3470                                   N1.getOperand(0), N2.getOperand(0));
 3470                                   N1.getOperand(0), N2.getOperand(0));
 3485   SDValue Cond = N.getOperand(0);
 3486   SDValue LHS = N.getOperand(1);
 3487   SDValue RHS = N.getOperand(2);
 3508     SDValue NewLHS = LHS.getOperand(0);
 3552   SDValue LHS = Cond.getOperand(0);
 3553   SDValue RHS = Cond.getOperand(1);
 3554   SDValue CC = Cond.getOperand(2);
 3661     SDValue LHS = N0.getOperand(0);
 3662     SDValue RHS = N0.getOperand(1);
 3667       LHS = LHS.getOperand(0);
 3672       RHS = RHS.getOperand(0);
 3685     SDValue LHS = N0.getOperand(0);
 3686     SDValue RHS = N0.getOperand(1);
 3689       LHS = LHS.getOperand(0);
 3691       RHS = RHS.getOperand(0);
 3708     SDValue LHS = N0.getOperand(0);
 3709     SDValue MHS = N0.getOperand(1);
 3710     SDValue RHS = N0.getOperand(2);
 3713       LHS = LHS.getOperand(0);
 3715       MHS = MHS.getOperand(0);
 3722       RHS = RHS.getOperand(0);
 3742     SDValue LHS = N0.getOperand(0);
 3743     SDValue RHS = N0.getOperand(1);
 3783     SDValue CvtSrc = N0.getOperand(0);
 3787       return DAG.getNode(Opc, SL, VT, CvtSrc.getOperand(0));
 3799     SDValue CvtSrc = N0.getOperand(0);
 3804                          CvtSrc.getOperand(0), N0.getOperand(1));
 3804                          CvtSrc.getOperand(0), N0.getOperand(1));
 3812     return DAG.getNode(ISD::FP_ROUND, SL, VT, Neg, N0.getOperand(1));
 3820     SDValue Src = N0.getOperand(0);
 3845     SDValue Src = N0.getOperand(0);
 3898             SDValue Elt = Src.getOperand(I);
 4412     ConstantSDNode *CWidth = dyn_cast<ConstantSDNode>(Op.getOperand(2));
 4433     KnownBits LHSKnown = DAG.computeKnownBits(Op.getOperand(0), Depth + 1);
 4434     KnownBits RHSKnown = DAG.computeKnownBits(Op.getOperand(1), Depth + 1);
 4472     ConstantSDNode *CMask = dyn_cast<ConstantSDNode>(Op.getOperand(2));
 4476     KnownBits LHSKnown = DAG.computeKnownBits(Op.getOperand(0), Depth + 1);
 4477     KnownBits RHSKnown = DAG.computeKnownBits(Op.getOperand(1), Depth + 1);
 4508     auto GA = cast<GlobalAddressSDNode>(Op.getOperand(0).getNode());
 4517     unsigned IID = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 4540     ConstantSDNode *Width = dyn_cast<ConstantSDNode>(Op.getOperand(2));
 4545     if (!isNullConstant(Op.getOperand(1)))
 4549     unsigned Op0SignBits = DAG.ComputeNumSignBits(Op.getOperand(0), Depth + 1);
 4554     ConstantSDNode *Width = dyn_cast<ConstantSDNode>(Op.getOperand(2));
 4596     return DAG.isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1) &&
 4597            DAG.isKnownNeverNaN(Op.getOperand(1), SNaN, Depth + 1);
 4605     return DAG.isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1) &&
 4606            DAG.isKnownNeverNaN(Op.getOperand(1), SNaN, Depth + 1) &&
 4607            DAG.isKnownNeverNaN(Op.getOperand(2), SNaN, Depth + 1);
 4630     return DAG.isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1);
 4645       = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 4654       return DAG.isKnownNeverNaN(Op.getOperand(1), SNaN, Depth + 1);
 4659       return DAG.isKnownNeverNaN(Op.getOperand(1), SNaN, Depth + 1) &&
 4660              DAG.isKnownNeverNaN(Op.getOperand(2), SNaN, Depth + 1);
lib/Target/AMDGPU/AMDGPUISelLowering.h
  161     return Val.getOpcode() == ISD::BITCAST ? Val.getOperand(0) : Val;
lib/Target/AMDGPU/R600ISelLowering.cpp
  501     SDValue Chain = Op.getOperand(0);
  503                          cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
  509         Op.getOperand(2), // Export Value
  510         Op.getOperand(3), // ArrayBase
  511         Op.getOperand(4), // Type
  528                          cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
  548         Op.getOperand(1),
  553         Op.getOperand(2),
  554         Op.getOperand(3),
  555         Op.getOperand(4),
  560         Op.getOperand(5),
  561         Op.getOperand(6),
  562         Op.getOperand(7),
  563         Op.getOperand(8),
  564         Op.getOperand(9),
  565         Op.getOperand(10)
  571       DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, Op.getOperand(1),
  573       DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, Op.getOperand(2),
  575       DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, Op.getOperand(1),
  577       DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, Op.getOperand(2),
  579       DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, Op.getOperand(1),
  581       DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, Op.getOperand(2),
  583       DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, Op.getOperand(1),
  585       DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::f32, Op.getOperand(2),
  635       return DAG.getNode(AMDGPUISD::RSQ, DL, VT, Op.getOperand(1));
  638       return DAG.getNode(AMDGPUISD::RSQ_CLAMP, DL, VT, Op.getOperand(1));
  711   SDValue Vector = Op.getOperand(0);
  712   SDValue Index = Op.getOperand(1);
  726   SDValue Vector = Op.getOperand(0);
  727   SDValue Value = Op.getOperand(1);
  728   SDValue Index = Op.getOperand(2);
  759   SDValue Arg = Op.getOperand(0);
  793   SDValue Lo = Op.getOperand(0);
  794   SDValue Hi = Op.getOperand(1);
  795   SDValue Shift = Op.getOperand(2);
  829   SDValue Lo = Op.getOperand(0);
  830   SDValue Hi = Op.getOperand(1);
  831   SDValue Shift = Op.getOperand(2);
  868   SDValue Lo = Op.getOperand(0);
  869   SDValue Hi = Op.getOperand(1);
  944   SDValue LHS = Op.getOperand(0);
  945   SDValue RHS = Op.getOperand(1);
  946   SDValue True = Op.getOperand(2);
  947   SDValue False = Op.getOperand(3);
  948   SDValue CC = Op.getOperand(4);
 1530   SDValue Chain = Op.getOperand(0);
 1531   SDValue Cond  = Op.getOperand(1);
 1532   SDValue Jump  = Op.getOperand(2);
 1753       unsigned Idx = dyn_cast<ConstantSDNode>(NewBldVec[i].getOperand(1))
 1762       unsigned Idx = dyn_cast<ConstantSDNode>(NewBldVec[i].getOperand(1))
 1862                            Arg.getOperand(0));
 1877     SDValue SelectCC = FNeg.getOperand(0);
 1879         SelectCC.getOperand(0).getValueType() != MVT::f32 || // LHS
 1880         SelectCC.getOperand(2).getValueType() != MVT::f32 || // True
 1881         !isHWTrueValue(SelectCC.getOperand(2)) ||
 1882         !isHWFalseValue(SelectCC.getOperand(3))) {
 1887                            SelectCC.getOperand(0), // LHS
 1888                            SelectCC.getOperand(1), // RHS
 1891                            SelectCC.getOperand(4)); // CC
 1959         Arg.getOperand(0).getOpcode() == ISD::BUILD_VECTOR &&
 1960         (Arg.getOperand(0).getValueType().getVectorNumElements() ==
 1965                            Arg->getOperand(0).getOperand(Element));
 1991     if (LHS.getOperand(2).getNode() != True.getNode() ||
 1992         LHS.getOperand(3).getNode() != False.getNode() ||
 2001       ISD::CondCode LHSCC = cast<CondCodeSDNode>(LHS.getOperand(4))->get();
 2003                                   LHS.getOperand(0).getValueType().isInteger());
 2005           isCondCodeLegal(LHSCC, LHS.getOperand(0).getSimpleValueType()))
 2007                                LHS.getOperand(0),
 2008                                LHS.getOperand(1),
 2009                                LHS.getOperand(2),
 2010                                LHS.getOperand(3),
 2093     Src = Src.getOperand(0);
 2099     Src = Src.getOperand(0);
 2109     SDValue CstOffset = Src.getOperand(0);
 2160     Imm = Src.getOperand(0);
 2169       ConstantFPSDNode *FPC = dyn_cast<ConstantFPSDNode>(Src.getOperand(0));
 2181       ConstantSDNode *C = dyn_cast<ConstantSDNode>(Src.getOperand(0));
lib/Target/AMDGPU/SIISelLowering.cpp
 4309         Results.push_back(Res.getOperand(0));
 4310         Results.push_back(Res.getOperand(1));
 4438   SDNode *Intr = BRCOND.getOperand(1).getNode();
 4439   SDValue Target = BRCOND.getOperand(2);
 4478     Ops.push_back(BRCOND.getOperand(0));
 4491       BRCOND.getOperand(0)
 4501       BRCOND.getOperand(2)
 4538   if (cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue() != 0)
 4571   SDValue Src = Op.getOperand(0);
 4604   SDValue Chain = Op.getOperand(0);
 4630   SDValue Chain = Op.getOperand(0);
 4766   SDValue Vec = Op.getOperand(0);
 4767   SDValue Ins = Op.getOperand(1);
 4768   SDValue Idx = Op.getOperand(2);
 4787   SDValue Vec = Op.getOperand(0);
 4788   SDValue InsVal = Op.getOperand(1);
 4789   SDValue Idx = Op.getOperand(2);
 4866   SDValue Vec = Op.getOperand(0);
 4867   SDValue Idx = Op.getOperand(1);
 4915   int SrcNumElts = Op.getOperand(0).getValueType().getVectorNumElements();
 4970                                     { Op.getOperand(0), Op.getOperand(1) });
 4970                                     { Op.getOperand(0), Op.getOperand(1) });
 4972                                     { Op.getOperand(2), Op.getOperand(3) });
 4972                                     { Op.getOperand(2), Op.getOperand(3) });
 4984   SDValue Lo = Op.getOperand(0);
 4985   SDValue Hi = Op.getOperand(1);
 5344     VData = Op.getOperand(2);
 5348       SDValue VData2 = Op.getOperand(3);
 5365     auto DMaskConst = cast<ConstantSDNode>(Op.getOperand(DMaskIdx));
 5370       VData = Op.getOperand(2);
 5421          dyn_cast<ConstantFPSDNode>(Op.getOperand(AddrIdx+NumVAddrs-1))) {
 5432          dyn_cast<ConstantSDNode>(Op.getOperand(AddrIdx+NumVAddrs-1))) {
 5442   MVT VAddrVT = Op.getOperand(DimIdx).getSimpleValueType();
 5452         AddrLo = Op.getOperand(i);
 5454         AddrLo = Op.getOperand(i);
 5463           AddrHi = Op.getOperand(i + 1);
 5474       VAddrs.push_back(Op.getOperand(AddrIdx + i));
 5503         cast<ConstantSDNode>(Op.getOperand(AddrIdx + NumVAddrs + 2));
 5511   SDValue TexFail = Op.getOperand(CtrlIdx);
 5536         return DAG.getMergeValues({Undef, Op.getOperand(0)}, DL);
 5558     if (!parseCachePolicy(Op.getOperand(CtrlIdx + 1), DAG, nullptr, &SLC,
 5562     if (!parseCachePolicy(Op.getOperand(CtrlIdx + 1), DAG, &GLC, &SLC,
 5576   Ops.push_back(Op.getOperand(AddrIdx + NumVAddrs)); // rsrc
 5578     Ops.push_back(Op.getOperand(AddrIdx + NumVAddrs + 1)); // sampler
 5596     Ops.push_back(Op.getOperand(0)); // chain
 5711   unsigned IntrinsicID = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 5750     return DAG.getNode(AMDGPUISD::RCP, DL, VT, Op.getOperand(1));
 5752     return DAG.getNode(AMDGPUISD::RSQ, DL, VT, Op.getOperand(1));
 5757     return DAG.getNode(AMDGPUISD::RSQ_LEGACY, DL, VT, Op.getOperand(1));
 5761     return DAG.getNode(AMDGPUISD::RCP_LEGACY, DL, VT, Op.getOperand(1));
 5764       return DAG.getNode(AMDGPUISD::RSQ_CLAMP, DL, VT, Op.getOperand(1));
 5770     SDValue Rsq = DAG.getNode(AMDGPUISD::RSQ, DL, VT, Op.getOperand(1));
 5864     if (!parseCachePolicy(Op.getOperand(3), DAG, &GLC, nullptr,
 5867     return lowerSBuffer(VT, DL, Op.getOperand(1), Op.getOperand(2), GLC, DLC,
 5867     return lowerSBuffer(VT, DL, Op.getOperand(1), Op.getOperand(2), GLC, DLC,
 5874                                     Op.getOperand(5), SDValue());
 5883         Op.getOperand(2),  // Attrchan
 5884         Op.getOperand(3),  // Attr
 5885         Op.getOperand(5)); // m0
 5888         Op.getOperand(1), // Src0
 5889         Op.getOperand(2), // Attrchan
 5890         Op.getOperand(3), // Attr
 5894         Op.getOperand(4), // high
 5902         Op.getOperand(1), // Src0
 5903         Op.getOperand(2), // Attrchan
 5904         Op.getOperand(3), // Attr
 5906         Op.getOperand(4), // high
 5916                                     Op.getOperand(6), SDValue());
 5918       Op.getOperand(2), // Src0
 5919       Op.getOperand(3), // Attrchan
 5920       Op.getOperand(4), // Attr
 5922       Op.getOperand(1), // Src2
 5924       Op.getOperand(5), // high
 5931     return DAG.getNode(AMDGPUISD::SIN_HW, DL, VT, Op.getOperand(1));
 5934     return DAG.getNode(AMDGPUISD::COS_HW, DL, VT, Op.getOperand(1));
 5937     return DAG.getNode(AMDGPUISD::MUL_U24, DL, VT, Op.getOperand(1), Op.getOperand(2));
 5937     return DAG.getNode(AMDGPUISD::MUL_U24, DL, VT, Op.getOperand(1), Op.getOperand(2));
 5939     return DAG.getNode(AMDGPUISD::MUL_I24, DL, VT, Op.getOperand(1), Op.getOperand(2));
 5939     return DAG.getNode(AMDGPUISD::MUL_I24, DL, VT, Op.getOperand(1), Op.getOperand(2));
 5953                        Op.getOperand(1), Op.getOperand(2));
 5953                        Op.getOperand(1), Op.getOperand(2));
 5956     return DAG.getNode(AMDGPUISD::FRACT, DL, VT, Op.getOperand(1));
 5960                        Op.getOperand(1), Op.getOperand(2));
 5960                        Op.getOperand(1), Op.getOperand(2));
 5963                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3),
 5963                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3),
 5963                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3),
 5964                        Op.getOperand(4));
 5968                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 5968                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 5968                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 5972                        Op.getOperand(1), Op.getOperand(2));
 5972                        Op.getOperand(1), Op.getOperand(2));
 5974     const ConstantSDNode *Param = cast<ConstantSDNode>(Op.getOperand(3));
 5978     SDValue Numerator = Op.getOperand(1);
 5979     SDValue Denominator = Op.getOperand(2);
 5993     if (Op.getOperand(1).getValueType() == MVT::i1 &&
 6004                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 6004                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 6004                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 6007                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3),
 6007                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3),
 6007                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3),
 6008                        Op.getOperand(4));
 6011                        Op.getOperand(1), Op.getOperand(2));
 6011                        Op.getOperand(1), Op.getOperand(2));
 6013     return DAG.getNode(AMDGPUISD::FFBH_I32, DL, VT, Op.getOperand(1));
 6016                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 6016                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 6016                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 6019                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 6019                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 6019                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 6041       return DAG.getNode(Opcode, DL, VT, Op.getOperand(1), Op.getOperand(2));
 6041       return DAG.getNode(Opcode, DL, VT, Op.getOperand(1), Op.getOperand(2));
 6044                                Op.getOperand(1), Op.getOperand(2));
 6044                                Op.getOperand(1), Op.getOperand(2));
 6048     return DAG.getNode(AMDGPUISD::FMAD_FTZ, DL, VT, Op.getOperand(1),
 6049                        Op.getOperand(2), Op.getOperand(3));
 6049                        Op.getOperand(2), Op.getOperand(3));
 6074                                  Op.getOperand(1));
 6115   unsigned IntrID = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
 6243     unsigned Glc = cast<ConstantSDNode>(Op.getOperand(5))->getZExtValue();
 6244     unsigned Slc = cast<ConstantSDNode>(Op.getOperand(6))->getZExtValue();
 6246     if (auto Idx = dyn_cast<ConstantSDNode>(Op.getOperand(3)))
 6249       Op.getOperand(0), // Chain
 6250       Op.getOperand(2), // rsrc
 6251       Op.getOperand(3), // vindex
 6259     unsigned Offset = setBufferOffsets(Op.getOperand(4), DAG, &Ops[3]);
 6289     auto Offsets = splitBufferOffsets(Op.getOperand(3), DAG);
 6291       Op.getOperand(0), // Chain
 6292       Op.getOperand(2), // rsrc
 6295       Op.getOperand(4), // soffset
 6297       Op.getOperand(5), // cachepolicy, swizzled buffer
 6309     auto Offsets = splitBufferOffsets(Op.getOperand(4), DAG);
 6311       Op.getOperand(0), // Chain
 6312       Op.getOperand(2), // rsrc
 6313       Op.getOperand(3), // vindex
 6315       Op.getOperand(5), // soffset
 6317       Op.getOperand(6), // cachepolicy, swizzled buffer
 6330     unsigned Dfmt = cast<ConstantSDNode>(Op.getOperand(7))->getZExtValue();
 6331     unsigned Nfmt = cast<ConstantSDNode>(Op.getOperand(8))->getZExtValue();
 6332     unsigned Glc = cast<ConstantSDNode>(Op.getOperand(9))->getZExtValue();
 6333     unsigned Slc = cast<ConstantSDNode>(Op.getOperand(10))->getZExtValue();
 6335     if (auto Idx = dyn_cast<ConstantSDNode>(Op.getOperand(3)))
 6338       Op.getOperand(0),  // Chain
 6339       Op.getOperand(2),  // rsrc
 6340       Op.getOperand(3),  // vindex
 6341       Op.getOperand(4),  // voffset
 6342       Op.getOperand(5),  // soffset
 6343       Op.getOperand(6),  // offset
 6359     auto Offsets = splitBufferOffsets(Op.getOperand(3), DAG);
 6362       Op.getOperand(0),  // Chain
 6363       Op.getOperand(2),  // rsrc
 6366       Op.getOperand(4),  // soffset
 6368       Op.getOperand(5),  // format
 6369       Op.getOperand(6),  // cachepolicy, swizzled buffer
 6383     auto Offsets = splitBufferOffsets(Op.getOperand(4), DAG);
 6386       Op.getOperand(0),  // Chain
 6387       Op.getOperand(2),  // rsrc
 6388       Op.getOperand(3),  // vindex
 6390       Op.getOperand(5),  // soffset
 6392       Op.getOperand(6),  // format
 6393       Op.getOperand(7),  // cachepolicy, swizzled buffer
 6414     unsigned Slc = cast<ConstantSDNode>(Op.getOperand(6))->getZExtValue();
 6416     if (auto Idx = dyn_cast<ConstantSDNode>(Op.getOperand(4)))
 6419       Op.getOperand(0), // Chain
 6420       Op.getOperand(2), // vdata
 6421       Op.getOperand(3), // rsrc
 6422       Op.getOperand(4), // vindex
 6429     unsigned Offset = setBufferOffsets(Op.getOperand(5), DAG, &Ops[4]);
 6489     auto Offsets = splitBufferOffsets(Op.getOperand(4), DAG);
 6491       Op.getOperand(0), // Chain
 6492       Op.getOperand(2), // vdata
 6493       Op.getOperand(3), // rsrc
 6496       Op.getOperand(5), // soffset
 6498       Op.getOperand(6), // cachepolicy
 6563     auto Offsets = splitBufferOffsets(Op.getOperand(5), DAG);
 6565       Op.getOperand(0), // Chain
 6566       Op.getOperand(2), // vdata
 6567       Op.getOperand(3), // rsrc
 6568       Op.getOperand(4), // vindex
 6570       Op.getOperand(6), // soffset
 6572       Op.getOperand(7), // cachepolicy
 6627     unsigned Slc = cast<ConstantSDNode>(Op.getOperand(7))->getZExtValue();
 6629     if (auto Idx = dyn_cast<ConstantSDNode>(Op.getOperand(5)))
 6632       Op.getOperand(0), // Chain
 6633       Op.getOperand(2), // src
 6634       Op.getOperand(3), // cmp
 6635       Op.getOperand(4), // rsrc
 6636       Op.getOperand(5), // vindex
 6643     unsigned Offset = setBufferOffsets(Op.getOperand(6), DAG, &Ops[5]);
 6655     auto Offsets = splitBufferOffsets(Op.getOperand(5), DAG);
 6657       Op.getOperand(0), // Chain
 6658       Op.getOperand(2), // src
 6659       Op.getOperand(3), // cmp
 6660       Op.getOperand(4), // rsrc
 6663       Op.getOperand(6), // soffset
 6665       Op.getOperand(7), // cachepolicy
 6676     auto Offsets = splitBufferOffsets(Op.getOperand(6), DAG);
 6678       Op.getOperand(0), // Chain
 6679       Op.getOperand(2), // src
 6680       Op.getOperand(3), // cmp
 6681       Op.getOperand(4), // rsrc
 6682       Op.getOperand(5), // vindex
 6684       Op.getOperand(7), // soffset
 6686       Op.getOperand(8), // cachepolicy
 6769   SDValue Chain = Op.getOperand(0);
 6770   unsigned IntrinsicID = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
 6775     const ConstantSDNode *Tgt = cast<ConstantSDNode>(Op.getOperand(2));
 6776     const ConstantSDNode *En = cast<ConstantSDNode>(Op.getOperand(3));
 6777     const ConstantSDNode *Done = cast<ConstantSDNode>(Op.getOperand(8));
 6778     const ConstantSDNode *VM = cast<ConstantSDNode>(Op.getOperand(9));
 6784       Op.getOperand(4), // src0
 6785       Op.getOperand(5), // src1
 6786       Op.getOperand(6), // src2
 6787       Op.getOperand(7), // src3
 6797     const ConstantSDNode *Tgt = cast<ConstantSDNode>(Op.getOperand(2));
 6798     const ConstantSDNode *En = cast<ConstantSDNode>(Op.getOperand(3));
 6799     SDValue Src0 = Op.getOperand(4);
 6800     SDValue Src1 = Op.getOperand(5);
 6801     const ConstantSDNode *Done = cast<ConstantSDNode>(Op.getOperand(6));
 6802     const ConstantSDNode *VM = cast<ConstantSDNode>(Op.getOperand(7));
 6827                                           Op.getOperand(0)), 0);
 6832     SDValue VData = Op.getOperand(2);
 6836     unsigned Dfmt = cast<ConstantSDNode>(Op.getOperand(8))->getZExtValue();
 6837     unsigned Nfmt = cast<ConstantSDNode>(Op.getOperand(9))->getZExtValue();
 6838     unsigned Glc = cast<ConstantSDNode>(Op.getOperand(10))->getZExtValue();
 6839     unsigned Slc = cast<ConstantSDNode>(Op.getOperand(11))->getZExtValue();
 6841     if (auto Idx = dyn_cast<ConstantSDNode>(Op.getOperand(4)))
 6846       Op.getOperand(3),  // rsrc
 6847       Op.getOperand(4),  // vindex
 6848       Op.getOperand(5),  // voffset
 6849       Op.getOperand(6),  // soffset
 6850       Op.getOperand(7),  // offset
 6863     SDValue VData = Op.getOperand(2);
 6867     auto Offsets = splitBufferOffsets(Op.getOperand(5), DAG);
 6871       Op.getOperand(3),  // rsrc
 6872       Op.getOperand(4),  // vindex
 6874       Op.getOperand(6),  // soffset
 6876       Op.getOperand(7),  // format
 6877       Op.getOperand(8),  // cachepolicy, swizzled buffer
 6888     SDValue VData = Op.getOperand(2);
 6892     auto Offsets = splitBufferOffsets(Op.getOperand(4), DAG);
 6896       Op.getOperand(3),  // rsrc
 6899       Op.getOperand(5),  // soffset
 6901       Op.getOperand(6),  // format
 6902       Op.getOperand(7),  // cachepolicy, swizzled buffer
 6914     SDValue VData = Op.getOperand(2);
 6918     unsigned Glc = cast<ConstantSDNode>(Op.getOperand(6))->getZExtValue();
 6919     unsigned Slc = cast<ConstantSDNode>(Op.getOperand(7))->getZExtValue();
 6921     if (auto Idx = dyn_cast<ConstantSDNode>(Op.getOperand(4)))
 6926       Op.getOperand(3), // rsrc
 6927       Op.getOperand(4), // vindex
 6934     unsigned Offset = setBufferOffsets(Op.getOperand(5), DAG, &Ops[4]);
 6958     SDValue VData = Op.getOperand(2);
 6971     auto Offsets = splitBufferOffsets(Op.getOperand(4), DAG);
 6975       Op.getOperand(3), // rsrc
 6978       Op.getOperand(5), // soffset
 6980       Op.getOperand(6), // cachepolicy, swizzled buffer
 7002     SDValue VData = Op.getOperand(2);
 7016     auto Offsets = splitBufferOffsets(Op.getOperand(5), DAG);
 7020       Op.getOperand(3), // rsrc
 7021       Op.getOperand(4), // vindex
 7023       Op.getOperand(6), // soffset
 7025       Op.getOperand(7), // cachepolicy, swizzled buffer
 7045     unsigned Slc = cast<ConstantSDNode>(Op.getOperand(6))->getZExtValue();
 7047     if (auto Idx = dyn_cast<ConstantSDNode>(Op.getOperand(4)))
 7051       Op.getOperand(2), // vdata
 7052       Op.getOperand(3), // rsrc
 7053       Op.getOperand(4), // vindex
 7060     unsigned Offset = setBufferOffsets(Op.getOperand(5), DAG, &Ops[4]);
 7064     EVT VT = Op.getOperand(2).getValueType();
 7078       Op.getOperand(2), // ptr
 7079       Op.getOperand(3)  // vdata
 7081     EVT VT = Op.getOperand(3).getValueType();
 7121     C1 = cast<ConstantSDNode>(N0.getOperand(1));
 7122     N0 = N0.getOperand(0);
 7176     SDValue N0 = CombinedOffset.getOperand(0);
 7177     SDValue N1 = CombinedOffset.getOperand(1);
 7492   SDValue Cond = Op.getOperand(0);
 7497   SDValue LHS = DAG.getNode(ISD::BITCAST, DL, MVT::v2i32, Op.getOperand(1));
 7498   SDValue RHS = DAG.getNode(ISD::BITCAST, DL, MVT::v2i32, Op.getOperand(2));
 7519   SDValue LHS = Op.getOperand(0);
 7520   SDValue RHS = Op.getOperand(1);
 7543           return DAG.getNode(AMDGPUISD::RSQ, SL, VT, RHS.getOperand(0));
 7614   SDValue Src0 = Op.getOperand(0);
 7615   SDValue Src1 = Op.getOperand(1);
 7632   SDValue LHS = Op.getOperand(1);
 7633   SDValue RHS = Op.getOperand(2);
 7681   SDValue LHS = Op.getOperand(0);
 7682   SDValue RHS = Op.getOperand(1);
 7784   SDValue X = Op.getOperand(0);
 7785   SDValue Y = Op.getOperand(1);
 7948   SDValue Arg = Op.getOperand(0);
 7984   SDValue ChainIn = Op.getOperand(0);
 7985   SDValue Addr = Op.getOperand(1);
 7986   SDValue Old = Op.getOperand(2);
 7987   SDValue New = Op.getOperand(3);
 8062   const ConstantSDNode *CAdd = dyn_cast<ConstantSDNode>(N0.getOperand(1));
 8081   SDValue ShlX = DAG.getNode(ISD::SHL, SL, VT, N0.getOperand(0), N1);
 8191   ConstantSDNode *N1 = dyn_cast<ConstantSDNode>(V.getOperand(1));
 8277         isa<ConstantSDNode>(LHS.getOperand(2))) {
 8285       return DAG.getNode(AMDGPUISD::PERM, DL, MVT::i32, LHS.getOperand(0),
 8286                          LHS.getOperand(1), DAG.getConstant(Sel, DL, MVT::i32));
 8293     ISD::CondCode LCC = cast<CondCodeSDNode>(LHS.getOperand(2))->get();
 8294     ISD::CondCode RCC = cast<CondCodeSDNode>(RHS.getOperand(2))->get();
 8296     SDValue X = LHS.getOperand(0);
 8297     SDValue Y = RHS.getOperand(0);
 8298     if (Y.getOpcode() != ISD::FABS || Y.getOperand(0) != X)
 8302       if (X != LHS.getOperand(1))
 8306         const ConstantFPSDNode *C1 = dyn_cast<ConstantFPSDNode>(RHS.getOperand(1));
 8335     ISD::CondCode LCC = cast<CondCodeSDNode>(LHS.getOperand(2))->get();
 8338     const ConstantSDNode *Mask = dyn_cast<ConstantSDNode>(RHS.getOperand(1));
 8340         (RHS.getOperand(0) == LHS.getOperand(0) &&
 8340         (RHS.getOperand(0) == LHS.getOperand(0) &&
 8341          LHS.getOperand(0) == LHS.getOperand(1))) {
 8341          LHS.getOperand(0) == LHS.getOperand(1))) {
 8348       return DAG.getNode(AMDGPUISD::FP_CLASS, DL, MVT::i1, RHS.getOperand(0),
 8358     if (isBoolSGPR(RHS.getOperand(0)))
 8359       return DAG.getSelect(SDLoc(N), MVT::i32, RHS.getOperand(0),
 8405                            LHS.getOperand(0), RHS.getOperand(0),
 8405                            LHS.getOperand(0), RHS.getOperand(0),
 8425       SDValue Src = LHS.getOperand(0);
 8426       if (Src != RHS.getOperand(0))
 8429       const ConstantSDNode *CLHS = dyn_cast<ConstantSDNode>(LHS.getOperand(1));
 8430       const ConstantSDNode *CRHS = dyn_cast<ConstantSDNode>(RHS.getOperand(1));
 8449       isa<ConstantSDNode>(LHS.getOperand(2))) {
 8456     return DAG.getNode(AMDGPUISD::PERM, DL, MVT::i32, LHS.getOperand(0),
 8457                        LHS.getOperand(1), DAG.getConstant(Sel, DL, MVT::i32));
 8494                            LHS.getOperand(0), RHS.getOperand(0),
 8494                            LHS.getOperand(0), RHS.getOperand(0),
 8513     SDValue ExtSrc = RHS.getOperand(0);
 8633     SDValue BCSrc = Src.getOperand(0);
 8655       Src.getOperand(0), // Chain
 8656       Src.getOperand(1), // rsrc
 8657       Src.getOperand(2), // vindex
 8658       Src.getOperand(3), // voffset
 8659       Src.getOperand(4), // soffset
 8660       Src.getOperand(5), // offset
 8661       Src.getOperand(6),
 8662       Src.getOperand(7)
 8666                                          Src.getOperand(0).getValueType());
 8771     return isCanonicalized(DAG, Op.getOperand(0), MaxDepth - 1);
 8801       if (!isCanonicalized(DAG, Op.getOperand(I), MaxDepth - 1))
 8808     return isCanonicalized(DAG, Op.getOperand(1), MaxDepth - 1) &&
 8809            isCanonicalized(DAG, Op.getOperand(2), MaxDepth - 1);
 8813       SDValue SrcOp = Op.getOperand(i);
 8822     return isCanonicalized(DAG, Op.getOperand(0), MaxDepth - 1);
 8825     return isCanonicalized(DAG, Op.getOperand(0), MaxDepth - 1) &&
 8826            isCanonicalized(DAG, Op.getOperand(1), MaxDepth - 1);
 8834     SDValue Src = Op.getOperand(0);
 8837       SDValue TruncSrc = Src.getOperand(0);
 8840           TruncSrc.getOperand(0).getValueType() == MVT::v2f16) {
 8841         return isCanonicalized(DAG, TruncSrc.getOperand(0), MaxDepth - 1);
 8849       = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 8931     SDValue Lo = N0.getOperand(0);
 8932     SDValue Hi = N0.getOperand(1);
 8937         SDValue Op = N0.getOperand(I);
 8975     auto *CRHS = dyn_cast<ConstantFPSDNode>(N0.getOperand(1));
 8979                                    N0.getOperand(0));
 9018   ConstantSDNode *K0 = dyn_cast<ConstantSDNode>(Op0.getOperand(1));
 9034                        Op0.getOperand(0), SDValue(K0, 0), SDValue(K1, 0));
 9069   ConstantFPSDNode *K0 = getSplatConstantFP(Op0.getOperand(1));
 9088       return DAG.getNode(AMDGPUISD::CLAMP, SL, VT, Op0.getOperand(0));
 9097     SDValue Var = Op0.getOperand(0);
 9138                          Op0.getOperand(0),
 9139                          Op0.getOperand(1),
 9152                          Op1.getOperand(0),
 9153                          Op1.getOperand(1));
 9264                               Vec.getOperand(0), Idx);
 9296                                  Vec.getOperand(0), Idx);
 9298                                  Vec.getOperand(1), Idx);
 9451   SDValue Op2 = Op1.getOperand(1);
 9452   Op1 = Op1.getOperand(0);
 9495     SDValue MulLHS = LHS.getOperand(0);
 9496     SDValue MulRHS = LHS.getOperand(1);
 9538     auto Cond = RHS.getOperand(0);
 9548     auto C = dyn_cast<ConstantSDNode>(RHS.getOperand(1));
 9550     SDValue Args[] = { LHS, RHS.getOperand(0), RHS.getOperand(2) };
 9550     SDValue Args[] = { LHS, RHS.getOperand(0), RHS.getOperand(2) };
 9571     auto C = dyn_cast<ConstantSDNode>(LHS.getOperand(1));
 9574     SDValue Args[] = { LHS.getOperand(0), RHS, LHS.getOperand(2) };
 9574     SDValue Args[] = { LHS.getOperand(0), RHS, LHS.getOperand(2) };
 9599     SDValue Args[] = { LHS.getOperand(0), LHS.getOperand(1), N->getOperand(2) };
 9599     SDValue Args[] = { LHS.getOperand(0), LHS.getOperand(1), N->getOperand(2) };
 9622     SDValue A = LHS.getOperand(0);
 9623     if (A == LHS.getOperand(1)) {
 9634     SDValue A = RHS.getOperand(0);
 9635     if (A == RHS.getOperand(1)) {
 9666     SDValue A = LHS.getOperand(0);
 9667     if (A == LHS.getOperand(1)) {
 9681     SDValue A = RHS.getOperand(0);
 9682     if (A == RHS.getOperand(1)) {
 9721     Op1 = Op1.getOperand(0);
 9722     Op2 = Op2.getOperand(0);
 9727     SDValue Vec1 = Op1.getOperand(0);
 9728     SDValue Idx1 = Op1.getOperand(1);
 9729     SDValue Vec2 = Op2.getOperand(0);
 9731     SDValue FMAOp1 = FMA.getOperand(0);
 9732     SDValue FMAOp2 = FMA.getOperand(1);
 9733     SDValue FMAAcc = FMA.getOperand(2);
 9739     FMAOp1 = FMAOp1.getOperand(0);
 9740     FMAOp2 = FMAOp2.getOperand(0);
 9745     SDValue Vec3 = FMAOp1.getOperand(0);
 9746     SDValue Vec4 = FMAOp2.getOperand(0);
 9747     SDValue Idx2 = FMAOp1.getOperand(1);
 9749     if (Idx1 != Op2.getOperand(1) || Idx2 != FMAOp2.getOperand(1) ||
 9749     if (Idx1 != Op2.getOperand(1) || Idx2 != FMAOp2.getOperand(1) ||
 9790         isBoolSGPR(LHS.getOperand(0))) {
 9799         return DAG.getNode(ISD::XOR, SL, MVT::i1, LHS.getOperand(0),
 9805         return LHS.getOperand(0);
 9811         isa<ConstantSDNode>(LHS.getOperand(1)) &&
 9812         isa<ConstantSDNode>(LHS.getOperand(2)) &&
 9814         isBoolSGPR(LHS.getOperand(0))) {
 9825         return DAG.getNode(ISD::XOR, SL, MVT::i1, LHS.getOperand(0),
 9829         return LHS.getOperand(0);
 9857       return DAG.getNode(AMDGPUISD::FP_CLASS, SL, MVT::i1, LHS.getOperand(0),
 9874     Srl = Srl.getOperand(0);
 9883         dyn_cast<ConstantSDNode>(Srl.getOperand(1))) {
 9884       Srl = DAG.getZExtOrTrunc(Srl.getOperand(0), SDLoc(Srl.getOperand(0)),
 9884       Srl = DAG.getZExtOrTrunc(Srl.getOperand(0), SDLoc(Srl.getOperand(0)),
10239     Op = Op.getOperand(0);
10903     return DAG.isKnownNeverNaN(Op.getOperand(0), SNaN, Depth + 1);
lib/Target/ARC/ARCISelDAGToDAG.cpp
   78     Base = Addr.getOperand(0);
  105   if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) {
  113     Base = Addr.getOperand(0);
  134   if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) {
  138     Base = Addr.getOperand(0);
  156     if ((FIN = dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) &&
  157         (CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) &&
lib/Target/ARC/ARCISelLowering.cpp
  164   SDValue LHS = Op.getOperand(0);
  165   SDValue RHS = Op.getOperand(1);
  166   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(4))->get();
  167   SDValue TVal = Op.getOperand(2);
  168   SDValue FVal = Op.getOperand(3);
  179   SDValue Op0 = Op.getOperand(0);
  184   unsigned Width = cast<VTSDNode>(Op.getOperand(1))->getVT().getSizeInBits();
  198   SDValue Chain = Op.getOperand(0);
  199   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();
  200   SDValue LHS = Op.getOperand(2);
  201   SDValue RHS = Op.getOperand(3);
  202   SDValue Dest = Op.getOperand(4);
  717   assert(cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue() == 0 &&
  742   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
  743   return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1),
  743   return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1),
lib/Target/ARM/ARMISelDAGToDAG.cpp
  395     SDValue Srl = N1.getOperand(0);
  417                           Srl.getOperand(0),
  497   ConstantSDNode *MulConst = dyn_cast<ConstantSDNode>(N.getOperand(1));
  540       replaceDAGValue(N.getOperand(1), NewMulConst);
  554   BaseReg = N.getOperand(0);
  556   ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1));
  578   BaseReg = N.getOperand(0);
  580   ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1));
  583   ShReg = N.getOperand(1);
  618         N.getOperand(0).getOpcode() != ISD::TargetGlobalAddress &&
  619         N.getOperand(0).getOpcode() != ISD::TargetExternalSymbol &&
  620         N.getOperand(0).getOpcode() != ISD::TargetGlobalTLSAddress) {
  621       Base = N.getOperand(0);
  628   if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
  634       Base   = N.getOperand(0);
  657     if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
  669           Base = Offset = N.getOperand(0);
  687     if (isScaledConstantInRange(N.getOperand(1), /*Scale=*/1,
  695     ARM_AM::getShiftOpcForNode(N.getOperand(1).getOpcode());
  698   Base   = N.getOperand(0);
  699   Offset = N.getOperand(1);
  705            dyn_cast<ConstantSDNode>(N.getOperand(1).getOperand(1))) {
  705            dyn_cast<ConstantSDNode>(N.getOperand(1).getOperand(1))) {
  708         Offset = N.getOperand(1).getOperand(0);
  708         Offset = N.getOperand(1).getOperand(0);
  721         N.getOperand(0).hasOneUse())) {
  722     ShOpcVal = ARM_AM::getShiftOpcForNode(N.getOperand(0).getOpcode());
  727           dyn_cast<ConstantSDNode>(N.getOperand(0).getOperand(1))) {
  727           dyn_cast<ConstantSDNode>(N.getOperand(0).getOperand(1))) {
  729         if (isShifterOpProfitable(N.getOperand(0), ShOpcVal, ShAmt)) {
  730           Offset = N.getOperand(0).getOperand(0);
  730           Offset = N.getOperand(0).getOperand(0);
  731           Base = N.getOperand(1);
  749       replaceDAGValue(Offset.getOperand(1), NewMulConst);
  779     if (ConstantSDNode *Sh = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
  782         Offset = N.getOperand(0);
  847     Base = N.getOperand(0);
  848     Offset = N.getOperand(1);
  869   if (isScaledConstantInRange(N.getOperand(1), /*Scale=*/1,
  871     Base = N.getOperand(0);
  889   Base = N.getOperand(0);
  890   Offset = N.getOperand(1);
  927                N.getOperand(0).getOpcode() != ISD::TargetGlobalAddress &&
  928                N.getOperand(0).getOpcode() != ISD::TargetExternalSymbol &&
  929                N.getOperand(0).getOpcode() != ISD::TargetGlobalTLSAddress) {
  930       Base = N.getOperand(0);
  941   if (isScaledConstantInRange(N.getOperand(1), Scale, -255, 256, RHSC)) {
  942     Base = N.getOperand(0);
 1033     Offset = N.getOperand(0);
 1034     SDValue N1 = N.getOperand(1);
 1056   if (auto C = dyn_cast<ConstantSDNode>(N.getOperand(1)))
 1073   Base = N.getOperand(0);
 1074   Offset = N.getOperand(1);
 1098         N.getOperand(0).getOpcode() != ISD::TargetGlobalAddress &&
 1099         N.getOperand(0).getOpcode() != ISD::TargetExternalSymbol &&
 1100         N.getOperand(0).getOpcode() != ISD::TargetConstantPool &&
 1101         N.getOperand(0).getOpcode() != ISD::TargetGlobalTLSAddress) {
 1102       Base = N.getOperand(0);
 1113   if (isScaledConstantInRange(N.getOperand(1), Scale, 0, 32, RHSC)) {
 1114     Base = N.getOperand(0);
 1159   if (N.getOperand(0).getOpcode() == ISD::FrameIndex) {
 1162     if (isScaledConstantInRange(N.getOperand(1), /*Scale=*/4, 0, 256, RHSC)) {
 1163       Base = N.getOperand(0);
 1192     if (isScaledConstantInRange(N.getOperand(1), 1 << Shift, -0x7f, 0x80,
 1194       Base = N.getOperand(0);
 1232         N.getOperand(0).getOpcode() != ISD::TargetGlobalAddress &&
 1233         N.getOperand(0).getOpcode() != ISD::TargetExternalSymbol &&
 1234         N.getOperand(0).getOpcode() != ISD::TargetGlobalTLSAddress) {
 1235       Base = N.getOperand(0);
 1244   if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
 1254       Base   = N.getOperand(0);
 1278   if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
 1284       Base = N.getOperand(0);
 1320     if (isScaledConstantInRange(N.getOperand(1), 1 << Shift, -0x7f, 0x80,
 1322       Base = N.getOperand(0);
 1376   if (ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
 1386   Base   = N.getOperand(0);
 1387   OffReg = N.getOperand(1);
 1400     if (ConstantSDNode *Sh = dyn_cast<ConstantSDNode>(OffReg.getOperand(1))) {
 1403         OffReg = OffReg.getOperand(0);
 1417       replaceDAGValue(OffReg.getOperand(1), NewMulConst);
 1438   ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1));
 1446   Base = N.getOperand(0);
 2671             SDValue Ops[] = { N->getOperand(0).getOperand(0),
 2683           SDValue Ops[] = { N->getOperand(0).getOperand(0), ShOpc,
 2690         SDValue Ops[] = { N->getOperand(0).getOperand(0),
 2715       SDValue Ops[] = { N->getOperand(0).getOperand(0),
 2737       SDValue Ops[] = { N->getOperand(0).getOperand(0),
 2758     SDValue Ops[] = { N->getOperand(0).getOperand(0),
 2790   SDValue ADDSrc0 = XORSrc0.getOperand(0);
 2791   SDValue ADDSrc1 = XORSrc0.getOperand(1);
 2792   SDValue SRASrc0 = XORSrc1.getOperand(0);
 2793   SDValue SRASrc1 = XORSrc1.getOperand(1);
 2863   SDValue X = And.getOperand(0);
 2864   auto C = dyn_cast<ConstantSDNode>(And.getOperand(1));
 2943           isScaledConstantInRange(Ptr.getOperand(1), /*Scale=*/4, 0, 256, RHSC))
 2944         Ptr = Ptr.getOperand(0);
 2947           cast<RegisterSDNode>(Ptr.getOperand(1))->getReg() == ARM::SP &&
 2948           Ptr.getOperand(0) == ST->getChain()) {
 3174       SDValue N2 = N0.getOperand(1);
 3185         SDValue Ops[] = { N0.getOperand(0), Imm16,
 3257     auto *Zero = dyn_cast<ConstantSDNode>(Subc.getOperand(0));
 3260         Subc.getOperand(1) != SmulLoHi.getValue(0) ||
 3266     SDValue Ops[] = { SmulLoHi.getOperand(0), SmulLoHi.getOperand(1),
 3266     SDValue Ops[] = { SmulLoHi.getOperand(0), SmulLoHi.getOperand(1),
 3336       if (InFlag.getOperand(0).getOpcode() == ISD::INTRINSIC_W_CHAIN) {
 3337         SDValue Int = InFlag.getOperand(0);
 3342           SDValue Elements = Int.getOperand(2);
 3344             cast<ConstantSDNode>(Int.getOperand(3))->getZExtValue(), dl,
 3347           SDValue Args[] = { Elements, Size, Int.getOperand(0) };
lib/Target/ARM/ARMISelLowering.cpp
 1765   if (auto Const = dyn_cast<ConstantSDNode>(Op.getOperand(1)))
 1773   if (auto Const = dyn_cast<ConstantSDNode>(Op.getOperand(1)))
 1781   if (auto Const = dyn_cast<ConstantSDNode>(Op.getOperand(1)))
 1792     return isSHL16(Op.getOperand(0));
 2514     unsigned VR = cast<RegisterSDNode>(Arg.getOperand(1))->getReg();
 2766         SDValue ZE = Arg.getOperand(0);
 2768           SDValue BC = ZE.getOperand(0);
 2770             Arg = BC.getOperand(0);
 3564                      DAG.getVTList(MVT::i32, MVT::Other), Op.getOperand(0),
 3565                      Op.getOperand(1), Val);
 3571   return DAG.getNode(ARMISD::EH_SJLJ_LONGJMP, dl, MVT::Other, Op.getOperand(0),
 3572                      Op.getOperand(1), DAG.getConstant(0, dl, MVT::i32));
 3579                      Op.getOperand(0));
 3586           Op.getOperand(Op.getOperand(0).getValueType() == MVT::Other))
 3586           Op.getOperand(Op.getOperand(0).getValueType() == MVT::Other))
 3595       SDValue Chain = Op.getOperand(0);
 3627   unsigned IntNo = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 3636     const SDValue &Operand = Op.getOperand(1);
 3651     const SDValue &Operand = Op.getOperand(1);
 3703                         Op.getOperand(1));
 3709                        Op.getOperand(1), Op.getOperand(2));
 3709                        Op.getOperand(1), Op.getOperand(2));
 3716                        Op.getOperand(1), Op.getOperand(2));
 3716                        Op.getOperand(1), Op.getOperand(2));
 3725                          Op.getOperand(1), Op.getOperand(2));
 3725                          Op.getOperand(1), Op.getOperand(2));
 3734                          Op.getOperand(1), Op.getOperand(2));
 3734                          Op.getOperand(1), Op.getOperand(2));
 3739                        Op.getOperand(1), Op.getOperand(2));
 3739                        Op.getOperand(1), Op.getOperand(2));
 3743                        Op.getOperand(1), Op.getOperand(2));
 3743                        Op.getOperand(1), Op.getOperand(2));
 3746                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 3746                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 3746                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 3750                        Op.getOperand(1));
 3757   ConstantSDNode *SSIDNode = cast<ConstantSDNode>(Op.getOperand(2));
 3768     return DAG.getNode(ARMISD::MEMBARRIER_MCR, dl, MVT::Other, Op.getOperand(0),
 3772   ConstantSDNode *OrdN = cast<ConstantSDNode>(Op.getOperand(1));
 3786   return DAG.getNode(ISD::INTRINSIC_VOID, dl, MVT::Other, Op.getOperand(0),
 3797     return Op.getOperand(0);
 3800   unsigned isRead = ~cast<ConstantSDNode>(Op.getOperand(2))->getZExtValue() & 1;
 3804     return Op.getOperand(0);
 3806   unsigned isData = cast<ConstantSDNode>(Op.getOperand(4))->getZExtValue();
 3813   return DAG.getNode(ARMISD::PRELOAD, dl, MVT::Other, Op.getOperand(0),
 3814                      Op.getOperand(1), DAG.getConstant(isRead, dl, MVT::i32),
 3827   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 3828   return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1),
 3828   return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1),
 4161     if (Op.getOperand(1).getOpcode() == ARMISD::Wrapper) {
 4162       SDValue WrapperOp = Op.getOperand(1).getOperand(0);
 4162       SDValue WrapperOp = Op.getOperand(1).getOperand(0);
 4250       LHS->hasOneUse() && isa<ConstantSDNode>(LHS.getOperand(1)) &&
 4253     unsigned Mask = cast<ConstantSDNode>(LHS.getOperand(1))->getZExtValue();
 4260         LHS = DAG.getNode(ISD::SHL, dl, MVT::i32, LHS.getOperand(0), ShiftAmt);
 4275       CC == ISD::SETUGT && isa<ConstantSDNode>(LHS.getOperand(1)) &&
 4276       cast<ConstantSDNode>(LHS.getOperand(1))->getZExtValue() < 31) {
 4278       cast<ConstantSDNode>(LHS.getOperand(1))->getZExtValue() + 1;
 4281                                 LHS.getOperand(0),
 4340     return DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1));
 4340     return DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1));
 4343   Cmp = Cmp.getOperand(0);
 4346     Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1));
 4346     Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0),Cmp.getOperand(1));
 4349     Cmp = DAG.getNode(Opc, DL, MVT::Glue, Cmp.getOperand(0));
 4364   SDValue LHS = Op.getOperand(0);
 4365   SDValue RHS = Op.getOperand(1);
 4481   SDValue LHS = Op.getOperand(0);
 4482   SDValue RHS = Op.getOperand(1);
 4542   SDValue Cond = Op.getOperand(0);
 4543   SDValue SelectTrue = Op.getOperand(1);
 4544   SDValue SelectFalse = Op.getOperand(2);
 4571       dyn_cast<ConstantSDNode>(Cond.getOperand(0));
 4573       dyn_cast<ConstantSDNode>(Cond.getOperand(1));
 4591         SDValue ARMcc = Cond.getOperand(2);
 4592         SDValue CCR = Cond.getOperand(3);
 4593         SDValue Cmp = duplicateCmp(Cond.getOperand(4), DAG);
 4738   SDValue LHS1 = Op.getOperand(0);
 4739   SDValue RHS1 = Op.getOperand(1);
 4740   SDValue TrueVal1 = Op.getOperand(2);
 4741   SDValue FalseVal1 = Op.getOperand(3);
 4742   ISD::CondCode CC1 = cast<CondCodeSDNode>(Op.getOperand(4))->get();
 4748   SDValue LHS2 = Op2.getOperand(0);
 4749   SDValue RHS2 = Op2.getOperand(1);
 4750   SDValue TrueVal2 = Op2.getOperand(2);
 4751   SDValue FalseVal2 = Op2.getOperand(3);
 4752   ISD::CondCode CC2 = cast<CondCodeSDNode>(Op2.getOperand(4))->get();
 4838   SDValue LHS = Op.getOperand(0);
 4839   SDValue RHS = Op.getOperand(1);
 4840   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(4))->get();
 4841   SDValue TrueVal = Op.getOperand(2);
 4842   SDValue FalseVal = Op.getOperand(3);
 4916   SDValue LHS = Op.getOperand(0);
 4917   SDValue RHS = Op.getOperand(1);
 4918   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(4))->get();
 4919   SDValue TrueVal = Op.getOperand(2);
 4920   SDValue FalseVal = Op.getOperand(3);
 5123   SDValue Chain = Op.getOperand(0);
 5124   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();
 5125   SDValue LHS = Op.getOperand(2);
 5126   SDValue RHS = Op.getOperand(3);
 5127   SDValue Dest = Op.getOperand(4);
 5173   SDValue Chain = Op.getOperand(0);
 5174   SDValue Cond = Op.getOperand(1);
 5175   SDValue Dest = Op.getOperand(2);
 5210   SDValue Chain = Op.getOperand(0);
 5211   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();
 5212   SDValue LHS = Op.getOperand(2);
 5213   SDValue RHS = Op.getOperand(3);
 5214   SDValue Dest = Op.getOperand(4);
 5293   SDValue Chain = Op.getOperand(0);
 5294   SDValue Table = Op.getOperand(1);
 5295   SDValue Index = Op.getOperand(2);
 5310                        Addr, Op.getOperand(2), JTI);
 5333     if (Op.getOperand(0).getValueType().getVectorElementType() == MVT::f32)
 5342   const EVT OpTy = Op.getOperand(0).getValueType();
 5355   Op = DAG.getNode(Op.getOpcode(), dl, NewTy, Op.getOperand(0));
 5363   if (isUnsupportedFloatingType(Op.getOperand(0).getValueType())) {
 5366       LC = RTLIB::getFPTOSINT(Op.getOperand(0).getValueType(),
 5369       LC = RTLIB::getFPTOUINT(Op.getOperand(0).getValueType(),
 5372     return makeLibCall(DAG, LC, Op.getValueType(), Op.getOperand(0),
 5383   if (Op.getOperand(0).getValueType().getVectorElementType() == MVT::i32) {
 5389   assert((Op.getOperand(0).getValueType() == MVT::v4i16 ||
 5390           Op.getOperand(0).getValueType() == MVT::v8i16) &&
 5420   Op = DAG.getNode(CastOpc, dl, DestVecType, Op.getOperand(0));
 5431       LC = RTLIB::getSINTTOFP(Op.getOperand(0).getValueType(),
 5434       LC = RTLIB::getUINTTOFP(Op.getOperand(0).getValueType(),
 5437     return makeLibCall(DAG, LC, Op.getValueType(), Op.getOperand(0),
 5446   SDValue Tmp0 = Op.getOperand(0);
 5447   SDValue Tmp1 = Op.getOperand(1);
 5536   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 5559   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 5598   Results.push_back(Read.getOperand(0));
 5626   ConstantSDNode *Index = dyn_cast<ConstantSDNode>(Op.getOperand(1));
 5642   SDValue ExtractSrc = Op.getOperand(0);
 5683      SDValue Ops[] = { Op.getOperand(0), Op.getOperand(1) };
 5683      SDValue Ops[] = { Op.getOperand(0), Op.getOperand(1) };
 5698     if (Op.getOperand(0).getValueType() == MVT::i32)
 5700                          MVT::f16, Op.getOperand(0));
 5795   SDValue ShOpLo = Op.getOperand(0);
 5796   SDValue ShOpHi = Op.getOperand(1);
 5797   SDValue ShAmt  = Op.getOperand(2);
 5839   SDValue ShOpLo = Op.getOperand(0);
 5840   SDValue ShOpHi = Op.getOperand(1);
 5841   SDValue ShAmt  = Op.getOperand(2);
 5984     Op = Op.getOperand(0);
 6162   SDValue Op0 = Op.getOperand(0);
 6163   SDValue Op1 = Op.getOperand(1);
 6164   SDValue CC = Op.getOperand(2);
 6290         AndOp = AndOp.getOperand(0);
 6293         Op0 = DAG.getNode(ISD::BITCAST, dl, CmpVT, AndOp.getOperand(0));
 6294         Op1 = DAG.getNode(ISD::BITCAST, dl, CmpVT, AndOp.getOperand(1));
 6337   SDValue LHS = Op.getOperand(0);
 6338   SDValue RHS = Op.getOperand(1);
 6339   SDValue Carry = Op.getOperand(2);
 6340   SDValue Cond = Op.getOperand(3);
 7055   SDValue FirstOp = Op.getOperand(0);
 7069     SDValue V = Op.getOperand(i);
 7081     SDValue V = Op.getOperand(i);
 7163     SDValue V = Op.getOperand(i);
 7230           if (Op.getOperand(I) == Value)
 7234           Ops.push_back(Op.getOperand(I));
 7248                                   Op.getOperand(i)));
 7303       Ops.push_back(DAG.getNode(ISD::BITCAST, dl, EltVT, Op.getOperand(i)));
 7317       SDValue V = Op.getOperand(i);
 7362     SDValue V = Op.getOperand(i);
 7369     } else if (!isa<ConstantSDNode>(V.getOperand(1))) {
 7376     SDValue SourceVec = V.getOperand(0);
 7382     unsigned EltNo = cast<ConstantSDNode>(V.getOperand(1))->getZExtValue();
 7488     SDValue Entry = Op.getOperand(i);
 7492     auto Src = llvm::find(Sources, Entry.getOperand(0));
 7493     int EltNo = cast<ConstantSDNode>(Entry.getOperand(1))->getSExtValue();
 7498     EVT OrigEltTy = Entry.getOperand(0).getValueType().getVectorElementType();
 7676   SDValue V1 = Op.getOperand(0);
 7677   SDValue V2 = Op.getOperand(1);
 7696   SDValue OpLHS = Op.getOperand(0);
 7767   SDValue V1 = Op.getOperand(0);
 7800   SDValue V1 = Op.getOperand(0);
 7801   SDValue V2 = Op.getOperand(1);
 7826         return DAG.getNode(ARMISD::VDUP, dl, VT, V1.getOperand(0));
 7832           !isa<ConstantSDNode>(V1.getOperand(0))) {
 7835           if (!V1.getOperand(i).isUndef()) {
 7840           return DAG.getNode(ARMISD::VDUP, dl, VT, V1.getOperand(0));
 7997   EVT VecVT = Op.getOperand(0).getValueType();
 8005   unsigned Lane = cast<ConstantSDNode>(Op.getOperand(2))->getZExtValue();
 8010                             Op.getOperand(1), DAG.getValueType(MVT::i1));
 8019   SDValue Lane = Op.getOperand(2);
 8023   SDValue Elt = Op.getOperand(1);
 8043     SDValue VecIn = Op.getOperand(0);
 8060   EVT VecVT = Op.getOperand(0).getValueType();
 8068   unsigned Lane = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
 8079   SDValue Lane = Op.getOperand(1);
 8083   SDValue Vec = Op.getOperand(0);
 8099   SDValue V1 = Op.getOperand(0);
 8100   SDValue V2 = Op.getOperand(1);
 8161   SDValue Op0 = Op.getOperand(0);
 8162   SDValue Op1 = Op.getOperand(1);
 8176   SDValue V1 = Op.getOperand(0);
 8177   SDValue V2 = Op.getOperand(1);
 8429   SDNode *N0 = Op.getOperand(0).getNode();
 8430   SDNode *N1 = Op.getOperand(1).getNode();
 8575   SDValue N0 = Op.getOperand(0);
 8576   SDValue N1 = Op.getOperand(1);
 8612   SDValue N0 = Op.getOperand(0);
 8613   SDValue N1 = Op.getOperand(1);
 8686   SDValue Carry = Op.getOperand(2);
 8696     Result = DAG.getNode(ARMISD::ADDE, DL, VTs, Op.getOperand(0),
 8697                          Op.getOperand(1), Carry);
 8710     Result = DAG.getNode(ARMISD::SUBE, DL, VTs, Op.getOperand(0),
 8711                          Op.getOperand(1), Carry);
 8731   SDValue Arg = Op.getOperand(0);
 8823     Arg.Node = Op.getOperand(AI);
 8887                                DAG.getEntryNode(), Op.getOperand(1));
 9104   SDValue Val = Op.getOperand(0);
 9106   SDValue Exponent = DAG.getNode(ISD::SINT_TO_FP, dl, Ty, Op.getOperand(1));
10997   SDValue N00 = N0.getOperand(0);
10998   SDValue N10 = N1.getOperand(0);
11030                                N00.getOperand(0), N00.getOperand(1));
11030                                N00.getOperand(0), N00.getOperand(1));
11171   if (auto Const = dyn_cast<ConstantSDNode>(SRA.getOperand(1))) {
11177   if (SRA.getOperand(0) != Mul)
11186   if (isS16(Mul.getOperand(0), DAG) && isS16(Mul.getOperand(1), DAG)) {
11186   if (isS16(Mul.getOperand(0), DAG) && isS16(Mul.getOperand(1), DAG)) {
11188     Op0 = Mul.getOperand(0);
11189     Op1 = Mul.getOperand(1);
11190   } else if (isS16(Mul.getOperand(0), DAG) && isSRA16(Mul.getOperand(1))) {
11190   } else if (isS16(Mul.getOperand(0), DAG) && isSRA16(Mul.getOperand(1))) {
11192     Op0 = Mul.getOperand(0);
11193     Op1 = Mul.getOperand(1).getOperand(0);
11193     Op1 = Mul.getOperand(1).getOperand(0);
11194   } else if (isSRA16(Mul.getOperand(0)) && isS16(Mul.getOperand(1), DAG)) {
11194   } else if (isSRA16(Mul.getOperand(0)) && isS16(Mul.getOperand(1), DAG)) {
11196     Op0 = Mul.getOperand(0).getOperand(0);
11196     Op0 = Mul.getOperand(0).getOperand(0);
11197     Op1 = Mul.getOperand(1);
11198   } else if (isSRA16(Mul.getOperand(0)) && isSRA16(Mul.getOperand(1))) {
11198   } else if (isSRA16(Mul.getOperand(0)) && isSRA16(Mul.getOperand(1))) {
11200     Op0 = Mul->getOperand(0).getOperand(0);
11201     Op1 = Mul->getOperand(1).getOperand(0);
11342   Ops.push_back(LoMul->getOperand(0));
11343   Ops.push_back(LoMul->getOperand(1));
11701   auto *C2 = dyn_cast<ConstantSDNode>(SHL.getOperand(1));
11728   SDValue X = SHL.getOperand(0);
11732   SDValue Res = DAG.getNode(ISD::SHL, dl, MVT::i32, BinOp, SHL.getOperand(1));
11734   LLVM_DEBUG(dbgs() << "Simplify shl use:\n"; SHL.getOperand(0).dump();
12078   if ((SRL.getOperand(0).getNode() != SHL.getOperand(0).getNode()) ||
12078   if ((SRL.getOperand(0).getNode() != SHL.getOperand(0).getNode()) ||
12079        SRL.getOperand(0).getOpcode() != ISD::SMUL_LOHI)
12082   SDNode *SMULLOHI = SRL.getOperand(0).getNode();
12083   if (SRL.getOperand(0) != SDValue(SMULLOHI, 0) ||
12084       SHL.getOperand(0) != SDValue(SMULLOHI, 1))
12143   SDValue N00 = N0.getOperand(0);
12148   SDValue MaskOp = N0.getOperand(1);
12177     ConstantSDNode *N11C = dyn_cast<ConstantSDNode>(N1.getOperand(1));
12193       Res = DAG.getNode(ISD::SRL, DL, VT, N1.getOperand(0),
12212       Res = DAG.getNode(ARMISD::BFI, DL, VT, N1.getOperand(0), Res,
12222       N00.getOpcode() == ISD::SHL && isa<ConstantSDNode>(N00.getOperand(1)) &&
12226     SDValue ShAmt = N00.getOperand(1);
12232     Res = DAG.getNode(ARMISD::BFI, DL, VT, N1, N00.getOperand(0),
12487       V = V.getOperand(0);
12507     V = V.getOperand(0);
12519     ConstantSDNode *N11C = dyn_cast<ConstantSDNode>(N1.getOperand(1));
12532                              N->getOperand(0), N1.getOperand(0),
12552     DCI.DAG.ReplaceAllUsesWith(CombineBFI, CombineBFI.getOperand(0));
12578     return DCI.CombineTo(N, InDouble.getOperand(0), InDouble.getOperand(1));
12578     return DCI.CombineTo(N, InDouble.getOperand(0), InDouble.getOperand(1));
12621     Op0 = Op0.getOperand(0);
12623     Op1 = Op1.getOperand(0);
12628                        N->getValueType(0), Op0.getOperand(0));
12756       V = V.getOperand(0);
12835   SDValue Concat0Op1 = Op0.getOperand(1);
12836   SDValue Concat1Op1 = Op1.getOperand(1);
12848                                   Op0.getOperand(0), Op1.getOperand(0));
12848                                   Op0.getOperand(0), Op1.getOperand(0));
13191     Op = Op.getOperand(0);
13198   unsigned Imm = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
13379         DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, NewFromVT, Trunc.getOperand(0),
13440     SDValue IntVec = StVal.getOperand(0);
13445                                  Vec, StVal.getOperand(1));
13548   MVT IntTy = Op.getOperand(0).getSimpleValueType().getVectorElementType();
13567   SDValue ConvInput = Op.getOperand(0);
13753           DAG.MaskedValueIsZero(N0.getOperand(0),
13902     SDValue Vec = N0.getOperand(0);
13903     SDValue Lane = N0.getOperand(1);
14045     if (!isa<ConstantSDNode>(N.getOperand(1)))
14047     if (!cast<ConstantSDNode>(N.getOperand(1))->isOne())
14050     return SearchLoopIntrinsic(N.getOperand(0), CC, Imm, Negate);
14053     auto *Const = dyn_cast<ConstantSDNode>(N.getOperand(1));
14062     CC = cast<CondCodeSDNode>(N.getOperand(2))->get();
14066     unsigned IntOp = cast<ConstantSDNode>(N.getOperand(1))->getZExtValue();
14143   SDValue Elements = Int.getOperand(2);
14171     DAG.ReplaceAllUsesOfValueWith(Int.getValue(1), Int.getOperand(0));
14175       cast<ConstantSDNode>(Int.getOperand(3))->getZExtValue(), dl, MVT::i32);
14176     SDValue Args[] = { Int.getOperand(0), Elements, Size, };
14208   SDValue LHS = Cmp.getOperand(0);
14209   SDValue RHS = Cmp.getOperand(1);
14248   SDValue LHS = Cmp.getOperand(0);
14249   SDValue RHS = Cmp.getOperand(1);
14384         FalseVal.getOperand(0) == LHS && FalseVal.getOperand(1) == RHS) ||
14384         FalseVal.getOperand(0) == LHS && FalseVal.getOperand(1) == RHS) ||
14815   if (auto *Ld = dyn_cast<MaskedLoadSDNode>(ExtVal.getOperand(0))) {
15393       SDValue LHS = Op.getOperand(0);
15394       SDValue RHS = Op.getOperand(1);
15405     Known = DAG.computeKnownBits(Op.getOperand(0), Depth+1);
15409     KnownBits KnownRHS = DAG.computeKnownBits(Op.getOperand(1), Depth+1);
15431     Known = DAG.computeKnownBits(Op.getOperand(0), Depth + 1);
15435     ConstantSDNode *CI = cast<ConstantSDNode>(Op.getOperand(2));
15443     const SDValue &SrcSV = Op.getOperand(0);
15447     ConstantSDNode *Pos = cast<ConstantSDNode>(Op.getOperand(1).getNode());
15493   ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op.getOperand(1));
15512     return TLO.CombineTo(Op, Op.getOperand(0));
15522     SDValue NewOp = TLO.DAG.getNode(ISD::AND, DL, VT, Op.getOperand(0), NewC);
16066   SDValue Chain = Op.getOperand(0);
16067   SDValue Size  = Op.getOperand(1);
16071     unsigned Align = cast<ConstantSDNode>(Op.getOperand(2))->getZExtValue();
16101   SDValue SrcVal = Op.getOperand(0);
16148   SDValue SrcVal = Op.getOperand(0);
lib/Target/AVR/AVRISelDAGToDAG.cpp
   84   if (const ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
   96     if (N.getOperand(0).getOpcode() == ISD::FrameIndex) {
   97       int FI = cast<FrameIndexSDNode>(N.getOperand(0))->getIndex();
  111       Base = N.getOperand(0);
  335   const RegisterSDNode *RN = dyn_cast<RegisterSDNode>(BasePtr.getOperand(0));
  341   int CST = (int)cast<ConstantSDNode>(BasePtr.getOperand(1))->getZExtValue();
  346   SDValue Ops[] = {BasePtr.getOperand(0), Offset, ST->getValue(), Chain};
lib/Target/AVR/AVRISelLowering.cpp
  620   SDValue Chain = Op.getOperand(0);
  621   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();
  622   SDValue LHS = Op.getOperand(2);
  623   SDValue RHS = Op.getOperand(3);
  624   SDValue Dest = Op.getOperand(4);
  635   SDValue LHS = Op.getOperand(0);
  636   SDValue RHS = Op.getOperand(1);
  637   SDValue TrueV = Op.getOperand(2);
  638   SDValue FalseV = Op.getOperand(3);
  639   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(4))->get();
  652   SDValue LHS = Op.getOperand(0);
  653   SDValue RHS = Op.getOperand(1);
  654   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
  671   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
  679   return DAG.getStore(Op.getOperand(0), dl, FI, Op.getOperand(1),
  679   return DAG.getStore(Op.getOperand(0), dl, FI, Op.getOperand(1),
lib/Target/BPF/BPFISelDAGToDAG.cpp
  114     ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1));
  119               dyn_cast<FrameIndexSDNode>(Addr.getOperand(0)))
  122         Base = Addr.getOperand(0);
  143   ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1));
  147     if (FrameIndexSDNode *FIN = dyn_cast<FrameIndexSDNode>(Addr.getOperand(0)))
lib/Target/BPF/BPFISelLowering.cpp
  499   SDValue Chain = Op.getOperand(0);
  500   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();
  501   SDValue LHS = Op.getOperand(2);
  502   SDValue RHS = Op.getOperand(3);
  503   SDValue Dest = Op.getOperand(4);
  514   SDValue LHS = Op.getOperand(0);
  515   SDValue RHS = Op.getOperand(1);
  516   SDValue TrueV = Op.getOperand(2);
  517   SDValue FalseV = Op.getOperand(3);
  518   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(4))->get();
lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
  582     SDValue Mul_0 = Shl_0.getOperand(0); // Val
  583     SDValue Mul_1 = Shl_0.getOperand(1); // Const
  599     SDValue Sub_0 = Shl_0.getOperand(0); // Const 0
  600     SDValue Sub_1 = Shl_0.getOperand(1); // Val
  604       SDValue Shl2_0 = Sub_1.getOperand(0); // Val
  605       SDValue Shl2_1 = Sub_1.getOperand(1); // Const
  992       return IsZero(Op.getOperand(1)) || IsZero(Op.getOperand(2));
  992       return IsZero(Op.getOperand(1)) || IsZero(Op.getOperand(2));
 1002       SDValue SC = SOp.getOperand(0);
 1003       SDValue SX = SOp.getOperand(1);
 1004       SDValue SY = SOp.getOperand(2);
 1038     SDValue T0 = Off.getOperand(1);
 1043     SDValue T1 = T0.getOperand(0);
 1044     SDValue T2 = T0.getOperand(1);
 1048     SDValue C = T1.getOperand(1);
 1069     SDValue NewAdd = DAG.getNode(ISD::ADD, DL, VT, T1.getOperand(0), D);
 1100     SDValue T0 = Addr.getOperand(1);
 1108     SDValue S = T0.getOperand(0);
 1111     ConstantSDNode *SN = dyn_cast<ConstantSDNode>(S.getOperand(1).getNode());
 1119     ConstantSDNode *MN = dyn_cast<ConstantSDNode>(T0.getOperand(1).getNode());
 1140     SDValue Y = S.getOperand(0);
 1345     R = N.getOperand(0);
 1376     SDValue N0 = N.getOperand(0);
 1377     SDValue N1 = N.getOperand(1);
 1384       SDValue Addr = N0.getOperand(0);
 1405       R = N.getOperand(0);
 1409       R = N.getOperand(0);
 1445                 ? N.getOperand(0).getValueType()
 1446                 : cast<VTSDNode>(N.getOperand(1))->getVT();
 1449         R = N.getOperand(0);
 1468       auto *S = dyn_cast<ConstantSDNode>(N.getOperand(1));
 1502     const SDValue &Op0 = Val.getOperand(0);
 1513     if (Val.getOperand(0).getValueType().isInteger()) {
 1514       VTSDNode *T = cast<VTSDNode>(Val.getOperand(1));
 1516         Src = Val.getOperand(0);
 1524     if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Val.getOperand(0))) {
 1526         Src = Val.getOperand(1);
 1530     if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Val.getOperand(1))) {
 1532         Src = Val.getOperand(0);
 1542     if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Val.getOperand(0))) {
 1544         Src = Val.getOperand(1);
 1548     if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Val.getOperand(1))) {
 1550         Src = Val.getOperand(0);
 1733         !isa<ConstantSDNode>(Val.getOperand(1)) ||
 1760         !isa<ConstantSDNode>(Val.getOperand(1)) ||
 1790       ConstantSDNode *C = dyn_cast<ConstantSDNode>(Val.getOperand(i));
 1800     if (!isa<ConstantSDNode>(Val.getOperand(1).getNode()))
 1811     SDValue Ops[] = { V.getOperand(0), V.getOperand(1) };
 1811     SDValue Ops[] = { V.getOperand(0), V.getOperand(1) };
 1826   SDValue Ops[] = { V.getOperand(0), V.getOperand(1) };
 1826   SDValue Ops[] = { V.getOperand(0), V.getOperand(1) };
 2077       cast<GlobalAddressSDNode>(GA.Value.getOperand(0));
 2202     ConstantSDNode *V1C = dyn_cast<ConstantSDNode>(NewRoot.getOperand(1));
 2205       SDValue V0 = NewRoot.getOperand(0);
 2252     Worklist.push_back(BasePtr.getOperand(0).getNode());
 2253     Worklist.push_back(BasePtr.getOperand(1).getNode());
lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
  951           if (Addr.getOperand(0).getOpcode() == ISD::TargetConstantPool)
lib/Target/Hexagon/HexagonISelLowering.cpp
  586   if (Op.getOperand(NumOps-1).getValueType() == MVT::Glue)
  590     unsigned Flags = cast<ConstantSDNode>(Op.getOperand(i))->getZExtValue();
  606           unsigned Reg = cast<RegisterSDNode>(Op.getOperand(i))->getReg();
  625   SDValue Chain = Op.getOperand(0);
  626   SDValue Addr = Op.getOperand(1);
  640   SDValue Chain = Op.getOperand(0);
  648   SDValue Chain = Op.getOperand(0);
  649   unsigned IntNo = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
  652     SDValue Addr = Op.getOperand(2);
  663   SDValue Chain = Op.getOperand(0);
  664   SDValue Size = Op.getOperand(1);
  665   SDValue Align = Op.getOperand(2);
  805   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
  806   return DAG.getStore(Op.getOperand(0), SDLoc(Op), Addr, Op.getOperand(1),
  806   return DAG.getStore(Op.getOperand(0), SDLoc(Op), Addr, Op.getOperand(1),
  812   SDValue LHS = Op.getOperand(0);
  813   SDValue RHS = Op.getOperand(1);
  814   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
  839         SDValue Op = N.getOperand(0);
  842         EVT OrigTy = cast<VTSDNode>(Op.getOperand(1))->getVT();
  871   SDValue PredOp = Op.getOperand(0);
  872   SDValue Op1 = Op.getOperand(1), Op2 = Op.getOperand(2);
  872   SDValue Op1 = Op.getOperand(1), Op2 = Op.getOperand(2);
  977   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
  999   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 1011   return DAG.getNode(HexagonISD::BARRIER, dl, MVT::Other, Op.getOperand(0));
 1900     SDValue Op1 = Addr.getOperand(1);
 1902       return { Addr.getOperand(0), CN->getSExtValue() };
 1922   SDValue Op0 = Op.getOperand(0);
 1923   SDValue Op1 = Op.getOperand(1);
 2039   if (auto *BVN = dyn_cast<BuildVectorSDNode>(Op.getOperand(1).getNode())) {
 2055       return DAG.getNode(NewOpc, SDLoc(Op), ty(Op), Op.getOperand(0), S);
 2069   if (isa<ConstantSDNode>(Op.getOperand(1).getNode()))
 2077   SDValue InpV = Op.getOperand(0);
 2474     Ops.push_back(Op.getOperand(i));
 2528     return DAG.getNode(HexagonISD::COMBINE, dl, VecTy, Op.getOperand(1),
 2529                        Op.getOperand(0));
 2535     MVT OpTy = ty(Op.getOperand(0));
 2589   SDValue Vec = Op.getOperand(0);
 2591   return extractVector(Vec, Op.getOperand(1), SDLoc(Op), ElemTy, ty(Op), DAG);
 2597   return extractVector(Op.getOperand(0), Op.getOperand(1), SDLoc(Op),
 2597   return extractVector(Op.getOperand(0), Op.getOperand(1), SDLoc(Op),
 2604   return insertVector(Op.getOperand(0), Op.getOperand(1), Op.getOperand(2),
 2604   return insertVector(Op.getOperand(0), Op.getOperand(1), Op.getOperand(2),
 2604   return insertVector(Op.getOperand(0), Op.getOperand(1), Op.getOperand(2),
 2611   SDValue ValV = Op.getOperand(1);
 2612   return insertVector(Op.getOperand(0), ValV, Op.getOperand(2),
 2612   return insertVector(Op.getOperand(0), ValV, Op.getOperand(2),
 2733                                 {Load1, Load0, BaseNoOff.getOperand(0)});
 2742   SDValue X = Op.getOperand(0), Y = Op.getOperand(1);
 2742   SDValue X = Op.getOperand(0), Y = Op.getOperand(1);
 2781   SDValue X = Op.getOperand(0), Y = Op.getOperand(1), C = Op.getOperand(2);
 2781   SDValue X = Op.getOperand(0), Y = Op.getOperand(1), C = Op.getOperand(2);
 2781   SDValue X = Op.getOperand(0), Y = Op.getOperand(1), C = Op.getOperand(2);
 2797   SDValue Chain     = Op.getOperand(0);
 2798   SDValue Offset    = Op.getOperand(1);
 2799   SDValue Handler   = Op.getOperand(2);
 2935     SDValue P = Op.getOperand(0);
 2948     SDValue Cond = Op.getOperand(0);
 2950       SDValue C0 = Cond.getOperand(0), C1 = Cond.getOperand(1);
 2950       SDValue C0 = Cond.getOperand(0), C1 = Cond.getOperand(1);
 2953                                        Op.getOperand(2), Op.getOperand(1));
 2953                                        Op.getOperand(2), Op.getOperand(1));
lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
  263     return VectorPair(Vec.getOperand(0), Vec.getOperand(1));
  263     return VectorPair(Vec.getOperand(0), Vec.getOperand(1));
  422       SDValue T = V.getOperand(0);
  426       ConstantSDNode *C = dyn_cast<ConstantSDNode>(V.getOperand(1));
 1027     Ops.push_back(Op.getOperand(i));
 1072                                              V.getOperand(0), V.getOperand(1)),
 1072                                              V.getOperand(0), V.getOperand(1)),
 1092   SDValue Op0 = Op.getOperand(0);
 1098       return DAG.getNode(HexagonISD::QCAT, dl, VecTy, Op0, Op.getOperand(1));
 1122   unsigned InpLen = ty(Op.getOperand(0)).getVectorNumElements();
 1137   SDValue VecV = Op.getOperand(0);
 1140   SDValue IdxV = Op.getOperand(1);
 1151   SDValue VecV = Op.getOperand(0);
 1152   SDValue ValV = Op.getOperand(1);
 1153   SDValue IdxV = Op.getOperand(2);
 1164   SDValue SrcV = Op.getOperand(0);
 1167   SDValue IdxV = Op.getOperand(1);
 1184   SDValue VecV = Op.getOperand(0);
 1185   SDValue ValV = Op.getOperand(1);
 1186   SDValue IdxV = Op.getOperand(2);
 1204   SDValue InpV = Op.getOperand(0);
 1214   SDValue InpV = Op.getOperand(0);
 1224   SDValue InpV = Op.getOperand(0);
 1237   SDValue InpV = Op.getOperand(0);
 1275   SDValue Vs = Op.getOperand(0);
 1276   SDValue Vt = Op.getOperand(1);
 1329   SDValue Vs = Op.getOperand(0);
 1330   SDValue Vt = Op.getOperand(1);
 1431                      Op.getOperand(0));
 1594     SDValue Cond = Op.getOperand(0);
 1596       SDValue C0 = Cond.getOperand(0), C1 = Cond.getOperand(1);
 1596       SDValue C0 = Cond.getOperand(0), C1 = Cond.getOperand(1);
 1599                                        Op.getOperand(2), Op.getOperand(1));
 1599                                        Op.getOperand(2), Op.getOperand(1));
lib/Target/Lanai/LanaiISelDAGToDAG.cpp
  114       Addr.getOperand(1).getOpcode() == LanaiISD::SMALL) {
  115     Offset = Addr.getOperand(1).getOperand(0);
  115     Offset = Addr.getOperand(1).getOperand(0);
  172     if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1)))
  177                 dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) {
  182           Base = Addr.getOperand(0);
  192       Addr.getOperand(1).getOpcode() == LanaiISD::SMALL)
  227     if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1)))
  232     if (Addr.getOperand(0).getOpcode() == LanaiISD::HI ||
  233         Addr.getOperand(0).getOpcode() == LanaiISD::LO ||
  234         Addr.getOperand(0).getOpcode() == LanaiISD::SMALL ||
  235         Addr.getOperand(1).getOpcode() == LanaiISD::HI ||
  236         Addr.getOperand(1).getOpcode() == LanaiISD::LO ||
  237         Addr.getOperand(1).getOpcode() == LanaiISD::SMALL)
  241     R1 = Addr.getOperand(0);
  242     R2 = Addr.getOperand(1);
lib/Target/Lanai/LanaiISelLowering.cpp
  867   SDValue Chain = Op.getOperand(0);
  868   SDValue Cond = Op.getOperand(1);
  869   SDValue LHS = Op.getOperand(2);
  870   SDValue RHS = Op.getOperand(3);
  871   SDValue Dest = Op.getOperand(4);
  970   SDValue LHS = Op.getOperand(0);
  971   SDValue RHS = Op.getOperand(1);
  972   SDValue Cond = Op.getOperand(2);
  985   SDValue LHS = Op.getOperand(0);
  986   SDValue RHS = Op.getOperand(1);
  987   SDValue TrueV = Op.getOperand(2);
  988   SDValue FalseV = Op.getOperand(3);
  989   SDValue Cond = Op.getOperand(4);
 1012   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 1013   return DAG.getStore(Op.getOperand(0), DL, FI, Op.getOperand(1),
 1013   return DAG.getStore(Op.getOperand(0), DL, FI, Op.getOperand(1),
 1019   SDValue Chain = Op.getOperand(0);
 1020   SDValue Size = Op.getOperand(1);
 1060   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 1083   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 1241   SDValue ShOpLo = Op.getOperand(0);
 1242   SDValue ShOpHi = Op.getOperand(1);
 1243   SDValue ShAmt = Op.getOperand(2);
 1289   SDValue ShOpLo = Op.getOperand(0);
 1290   SDValue ShOpHi = Op.getOperand(1);
 1291   SDValue ShAmt = Op.getOperand(2);
lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
  144   SDValue N0 = N.getOperand(0);
  224     if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
  228       if (!MatchAddress(N.getOperand(0), AM) &&
  232           CurDAG->MaskedValueIsZero(N.getOperand(0), CN->getAPIntValue())) {
lib/Target/MSP430/MSP430ISelLowering.cpp
 1114   SDValue Chain = Op.getOperand(0);
 1115   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();
 1116   SDValue LHS   = Op.getOperand(2);
 1117   SDValue RHS   = Op.getOperand(3);
 1118   SDValue Dest  = Op.getOperand(4);
 1129   SDValue LHS   = Op.getOperand(0);
 1130   SDValue RHS   = Op.getOperand(1);
 1143           LHS.getOperand(0).getOpcode() == ISD::AND))) {
 1147   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
 1206   SDValue LHS    = Op.getOperand(0);
 1207   SDValue RHS    = Op.getOperand(1);
 1208   SDValue TrueV  = Op.getOperand(2);
 1209   SDValue FalseV = Op.getOperand(3);
 1210   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(4))->get();
 1224   SDValue Val = Op.getOperand(0);
 1261   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 1287   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 1305   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 1308   return DAG.getStore(Op.getOperand(0), SDLoc(Op), FrameIndex, Op.getOperand(1),
 1308   return DAG.getStore(Op.getOperand(0), SDLoc(Op), FrameIndex, Op.getOperand(1),
lib/Target/Mips/Mips16ISelDAGToDAG.cpp
  113     Base = Addr.getOperand(0);
  114     Offset = Addr.getOperand(1);
  124     ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1));
  129                 dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) {
  136       Base = Addr.getOperand(0);
  151     if (Addr.getOperand(1).getOpcode() == MipsISD::Lo ||
  152         Addr.getOperand(1).getOpcode() == MipsISD::GPRel) {
  153       SDValue Opnd0 = Addr.getOperand(1).getOperand(0);
  153       SDValue Opnd0 = Addr.getOperand(1).getOperand(0);
  156         Base = Addr.getOperand(0);
lib/Target/Mips/MipsISelLowering.cpp
  649   SDValue LHS = Op.getOperand(0);
  654   SDValue RHS = Op.getOperand(1);
  659   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
  668   ConstantSDNode *CC = cast<ConstantSDNode>(Cond.getOperand(2));
  685       !SetCC.getOperand(0).getValueType().isInteger())
  709     ISD::CondCode CC = cast<CondCodeSDNode>(SetCC.getOperand(2))->get();
  712     SetCC = DAG.getSetCC(DL, SetCC.getValueType(), SetCC.getOperand(0),
  713                          SetCC.getOperand(1), ISD::getSetCCInverse(CC, true));
  745     ISD::CondCode CC = cast<CondCodeSDNode>(SetCC.getOperand(2))->get();
  746     SetCC = DAG.getSetCC(DL, SetCC.getValueType(), SetCC.getOperand(0),
  747                          SetCC.getOperand(1), ISD::getSetCCInverse(CC, true));
  810     if (!(CN = dyn_cast<ConstantSDNode>(FirstOperand.getOperand(1))))
  821     NewOperand = FirstOperand.getOperand(0);
  830     if (!(CN = dyn_cast<ConstantSDNode>(FirstOperand.getOperand(1))))
  839     NewOperand = FirstOperand.getOperand(0);
  882   if (!(CN = dyn_cast<ConstantSDNode>(And0.getOperand(1))) ||
  888       And1.getOperand(0).getOpcode() == ISD::SHL) {
  890     if (!(CN = dyn_cast<ConstantSDNode>(And1.getOperand(1))) ||
  898     SDValue Shl = And1.getOperand(0);
  900     if (!(CN = dyn_cast<ConstantSDNode>(Shl.getOperand(1))))
  912     return DAG.getNode(MipsISD::Ins, DL, ValTy, Shl.getOperand(0),
  915                        And0.getOperand(0));
 1088   SDValue Lo = Add.getOperand(1);
 1091       (Lo.getOperand(0).getOpcode() != ISD::TargetJumpTable))
 1098                              Add.getOperand(0));
 1135   if (!(CN = dyn_cast<ConstantSDNode>(FirstOperand.getOperand(1))) ||
 1144   NewOperand = FirstOperand.getOperand(0);
 1904   SDValue Chain = Op.getOperand(0);
 1905   SDValue Dest = Op.getOperand(2);
 1909   SDValue CondRes = createFPCmp(DAG, Op.getOperand(1));
 1915   SDValue CCNode  = CondRes.getOperand(2);
 1929   SDValue Cond = createFPCmp(DAG, Op.getOperand(0));
 1935   return createCMovFP(DAG, Cond, Op.getOperand(1), Op.getOperand(2),
 1935   return createCMovFP(DAG, Cond, Op.getOperand(1), Op.getOperand(2),
 2140   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 2141   return DAG.getStore(Op.getOperand(0), DL, FI, Op.getOperand(1),
 2141   return DAG.getStore(Op.getOperand(0), DL, FI, Op.getOperand(1),
 2205   EVT TyX = Op.getOperand(0).getValueType();
 2206   EVT TyY = Op.getOperand(1).getValueType();
 2215     DAG.getNode(ISD::BITCAST, DL, MVT::i32, Op.getOperand(0)) :
 2216     DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, Op.getOperand(0),
 2219     DAG.getNode(ISD::BITCAST, DL, MVT::i32, Op.getOperand(1)) :
 2220     DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, Op.getOperand(1),
 2242     return DAG.getNode(ISD::BITCAST, DL, Op.getOperand(0).getValueType(), Res);
 2245                              Op.getOperand(0),
 2252   unsigned WidthX = Op.getOperand(0).getValueSizeInBits();
 2253   unsigned WidthY = Op.getOperand(1).getValueSizeInBits();
 2259   SDValue X = DAG.getNode(ISD::BITCAST, DL, TyX, Op.getOperand(0));
 2260   SDValue Y = DAG.getNode(ISD::BITCAST, DL, TyY, Op.getOperand(1));
 2276     return DAG.getNode(ISD::BITCAST, DL, Op.getOperand(0).getValueType(), I);
 2297   return DAG.getNode(ISD::BITCAST, DL, Op.getOperand(0).getValueType(), Or);
 2316                   ? DAG.getNode(ISD::BITCAST, DL, MVT::i32, Op.getOperand(0))
 2318                                 Op.getOperand(0), Const1);
 2340       DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, Op.getOperand(0),
 2351   SDValue X = DAG.getNode(ISD::BITCAST, DL, MVT::i64, Op.getOperand(0));
 2376   if (cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue() != 0) {
 2397   if (cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue() != 0) {
 2424   SDValue Chain     = Op.getOperand(0);
 2425   SDValue Offset    = Op.getOperand(1);
 2426   SDValue Handler   = Op.getOperand(2);
 2448   return DAG.getNode(MipsISD::Sync, DL, MVT::Other, Op.getOperand(0),
 2457   SDValue Lo = Op.getOperand(0), Hi = Op.getOperand(1);
 2457   SDValue Lo = Op.getOperand(0), Hi = Op.getOperand(1);
 2458   SDValue Shamt = Op.getOperand(2);
 2486   SDValue Lo = Op.getOperand(0), Hi = Op.getOperand(1);
 2486   SDValue Lo = Op.getOperand(0), Hi = Op.getOperand(1);
 2487   SDValue Shamt = Op.getOperand(2);
 2672                            Val.getOperand(0));
 2709                               Op.getOperand(0));
 2992       const SDValue TargetAddr = Node->getOperand(0).getOperand(1);
lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  283     ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1));
  289               dyn_cast<FrameIndexSDNode>(Addr.getOperand(0)))
  292         Base = Addr.getOperand(0);
  318     Base   = Addr.getOperand(0);
  319     Offset = Addr.getOperand(1);
  343     if (Addr.getOperand(1).getOpcode() == MipsISD::Lo ||
  344         Addr.getOperand(1).getOpcode() == MipsISD::GPRel) {
  345       SDValue Opnd0 = Addr.getOperand(1).getOperand(0);
  345       SDValue Opnd0 = Addr.getOperand(1).getOperand(0);
  348         Base = Addr.getOperand(0);
lib/Target/Mips/MipsSEISelLowering.cpp
  990                        SetCC.getOperand(0), SetCC.getOperand(1),
  990                        SetCC.getOperand(0), SetCC.getOperand(1),
  991                        N->getOperand(1), N->getOperand(2), SetCC.getOperand(2));
 1235   MVT Src = Op.getOperand(0).getValueType().getSimpleVT();
 1241                              Op.getOperand(0), DAG.getIntPtrConstant(0, DL));
 1243                              Op.getOperand(0), DAG.getIntPtrConstant(1, DL));
 1250         DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, Op.getOperand(0),
 1253         DAG.getNode(MipsISD::ExtractElementF64, DL, MVT::i32, Op.getOperand(0),
 1268   EVT Ty = Op.getOperand(0).getValueType();
 1271                              Op.getOperand(0), Op.getOperand(1));
 1271                              Op.getOperand(0), Op.getOperand(1));
lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
  732   SDValue GlobalVal = Wrapper.getOperand(0);
 3590     Address = N.getOperand(0);
 3598       return SelectDirectAddr(CastN->getOperand(0).getOperand(0), Address);
 3607     if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) {
 3608       SDValue base = Addr.getOperand(0);
 3644     if (SelectDirectAddr(Addr.getOperand(0), Addr)) {
 3647     if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) {
 3649               dyn_cast<FrameIndexSDNode>(Addr.getOperand(0)))
 3653         Base = Addr.getOperand(0);
lib/Target/NVPTX/NVPTXISelLowering.cpp
 1969   SDValue ShOpLo = Op.getOperand(0);
 1970   SDValue ShOpHi = Op.getOperand(1);
 1971   SDValue ShAmt  = Op.getOperand(2);
 2030   SDValue ShOpLo = Op.getOperand(0);
 2031   SDValue ShOpHi = Op.getOperand(1);
 2032   SDValue ShAmt  = Op.getOperand(2);
 2099   SDValue A = Op.getOperand(0);
 2140   SDValue A = Op.getOperand(0);
 4366                        N0.getOperand(0), N0.getOperand(1), N1);
 4366                        N0.getOperand(0), N0.getOperand(1), N1);
 4408         const SDNode *left = N0.getOperand(0).getNode();
 4409         const SDNode *right = N0.getOperand(1).getNode();
 4439                          N0.getOperand(0), N0.getOperand(1), N1);
 4439                          N0.getOperand(0), N0.getOperand(1), N1);
 4586     EVT OrigVT = Op.getOperand(0).getValueType();
 4592     EVT OrigVT = Op.getOperand(0).getValueType();
lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  663   SDValue Ops[] = {ST->getValue(), Base.getOperand(0), Base.getOperand(1),
  663   SDValue Ops[] = {ST->getValue(), Base.getOperand(0), Base.getOperand(1),
  705   SDValue Ops[] = {Base.getOperand(0), Base.getOperand(1), Chain};
  705   SDValue Ops[] = {Base.getOperand(0), Base.getOperand(1), Chain};
  735       if (Op0.getOperand(0).getOpcode() == ISD::SHL ||
  736           Op0.getOperand(0).getOpcode() == ISD::SRL) {
  737         if (Op1.getOperand(0).getOpcode() != ISD::SHL &&
  738             Op1.getOperand(0).getOpcode() != ISD::SRL) {
  745       if (Op1Opc == ISD::AND && Op1.getOperand(0).getOpcode() != ISD::SHL &&
  746           Op1.getOperand(0).getOpcode() != ISD::SRL) {
  756           isInt32Immediate(Op1.getOperand(1), Value)) {
  757         Op1 = Op1.getOperand(0);
  764         KnownBits MKnown = CurDAG->computeKnownBits(Op1.getOperand(1));
  767         unsigned SHOpc = Op1.getOperand(0).getOpcode();
  769             isInt32Immediate(Op1.getOperand(0).getOperand(1), Value)) {
  769             isInt32Immediate(Op1.getOperand(0).getOperand(1), Value)) {
  772           Op1 = Op1.getOperand(0).getOperand(0);
  772           Op1 = Op1.getOperand(0).getOperand(0);
 1228       if (isa<ConstantSDNode>(V.getOperand(1))) {
 1231         const auto &LHSBits = *getValueBits(V.getOperand(0), NumBits).second;
 1240       if (isa<ConstantSDNode>(V.getOperand(1))) {
 1243         const auto &LHSBits = *getValueBits(V.getOperand(0), NumBits).second;
 1255       if (isa<ConstantSDNode>(V.getOperand(1))) {
 1258         const auto &LHSBits = *getValueBits(V.getOperand(0), NumBits).second;
 1270       if (isa<ConstantSDNode>(V.getOperand(1))) {
 1278         std::tie(Interesting, LHSBits) = getValueBits(V.getOperand(0), NumBits);
 1296       const auto &LHSBits = *getValueBits(V.getOperand(0), NumBits).second;
 1297       const auto &RHSBits = *getValueBits(V.getOperand(1), NumBits).second;
 1346           V.getOperand(0).getValueType() != MVT::i32)
 1351       std::tie(Interesting, LHSBits) = getValueBits(V.getOperand(0),
 1363       EVT FromType = V.getOperand(0).getValueType();
 1370       std::tie(Interesting, InBits) = getValueBits(V.getOperand(0),
 1394       std::tie(Interesting, LHSBits) = getValueBits(V.getOperand(0),
 1397       EVT FromType = cast<VTSDNode>(V.getOperand(1))->getVT();
 2583   SDValue LHS = LoweredLogical.getOperand(0);
 2584   SDValue RHS = LoweredLogical.getOperand(1);
 2591       LoweredLogical.getOperand(0).getMachineOpcode() == PPC::INSERT_SUBREG)
 2592     OpToConvToRecForm = LoweredLogical.getOperand(0).getOperand(1);
 2592     OpToConvToRecForm = LoweredLogical.getOperand(0).getOperand(1);
 2595     OpToConvToRecForm = LoweredLogical.getOperand(0);
 2616       Ops.push_back(OpToConvToRecForm.getOperand(i));
 2671       SDValue InputOp = Operand.getOperand(0);
 2681   LHS = getLogicOperand(LogicOp.getOperand(0));
 2682   RHS = getLogicOperand(LogicOp.getOperand(1));
 2727       (Input.getOperand(0).getOpcode() == ISD::AssertSext ||
 2728        Input.getOperand(0).getOpcode() == ISD::SIGN_EXTEND))
 2762     (Input.getOperand(0).getOpcode() == ISD::AssertZext ||
 2763      Input.getOperand(0).getOpcode() == ISD::ZERO_EXTEND);
 3587   SDValue LHS = Compare.getOperand(0);
 3588   SDValue RHS = Compare.getOperand(1);
 3593     cast<CondCodeSDNode>(Compare.getOperand(CCOpNum))->get();
 4179           AddrOp.getOpcode() == ISD::ADD ? AddrOp.getOperand(0) :
 4195     return isIntS16Immediate(AddrOp.getOperand(1), Imm) && !(Imm % Val);
 4238   SDValue SetOrSelCC = InnerIsSel ? FalseRes : FalseRes.getOperand(0);
 4254   SDValue InnerLHS = SetOrSelCC.getOperand(0);
 4255   SDValue InnerRHS = SetOrSelCC.getOperand(1);
 4257       cast<CondCodeSDNode>(SetOrSelCC.getOperand(InnerIsSel ? 4 : 2))->get();
 4262         dyn_cast<ConstantSDNode>(SetOrSelCC.getOperand(2));
 4264         dyn_cast<ConstantSDNode>(SetOrSelCC.getOperand(3));
 4576       SDValue Val = N->getOperand(0).getOperand(0);
 4601         auto Op0 = Val.getOperand(0);
 4603            isInt32Immediate(Op0.getOperand(1).getNode(), Imm) && Imm <= MB) {
 4611                          ResultType, IDVal, Op0.getOperand(0),
 4623           isInt32Immediate(Val.getOperand(1).getNode(), Imm) && Imm <= MB) {
 4625         Val = Val.getOperand(0);
 4656         isInt32Immediate(N->getOperand(0).getOperand(1), Imm2)) {
 4671         SDValue Ops[] = { N->getOperand(0).getOperand(0),
 4672                             N->getOperand(0).getOperand(1),
 4759       SDValue Ops[] = { N->getOperand(0).getOperand(0),
 4773       SDValue Ops[] = { N->getOperand(0).getOperand(0),
 4951           isa<LoadSDNode>(Op1.getOperand(0))) {
 4952         LoadSDNode *LD = cast<LoadSDNode>(Op1.getOperand(0));
 5270     ISD::CondCode CC = cast<CondCodeSDNode>(O.getOperand(4))->get();
 5272     if (!isa<ConstantSDNode>(O.getOperand(2)) ||
 5273         !isa<ConstantSDNode>(O.getOperand(3)))
 5289     if (!isa<ConstantSDNode>(O.getOperand(1)) ||
 5291       SDValue Op0 = O.getOperand(0), Op1 = O.getOperand(1);
 5291       SDValue Op0 = O.getOperand(0), Op1 = O.getOperand(1);
 5293         Op0 = Op0.getOperand(0);
 5295         Op1 = Op1.getOperand(0);
 5298           Op0.getOperand(1) == Op1.getOperand(1) && CC == ISD::SETEQ &&
 5298           Op0.getOperand(1) == Op1.getOperand(1) && CC == ISD::SETEQ &&
 5299           isa<ConstantSDNode>(Op0.getOperand(1))) {
 5307         LHS = Op0.getOperand(0);
 5308         RHS = Op1.getOperand(0);
 5321           isa<ConstantSDNode>(O.getOperand(1))) {
 5334         LHS = Op0.getOperand(0);
 5335         RHS = Op0.getOperand(1);
 5345     SDValue Op = O.getOperand(0);
 5347       if (!isa<ConstantSDNode>(Op.getOperand(1)))
 5352       SDValue XOR = Op.getOperand(0);
 5354         XOR = XOR.getOperand(0);
 5358       LHS = XOR.getOperand(0);
 5359       RHS = XOR.getOperand(1);
 5362       if (!isa<ConstantSDNode>(Op.getOperand(1)))
 5370       SDValue XOR = Op.getOperand(0);
 5372         XOR = XOR.getOperand(0);
 5376       LHS = XOR.getOperand(0);
 5377       RHS = XOR.getOperand(1);
 5669                    Op.getOperand(0) == Op.getOperand(1))
 5669                    Op.getOperand(0) == Op.getOperand(1))
 5696                    Op.getOperand(0) == Op.getOperand(1))
 5696                    Op.getOperand(0) == Op.getOperand(1))
 5725                                              getOperand(0));
 5731                                              getOperand(0));
 5763                                                       getOperand(0),
 5769                                                       getOperand(0),
 5797                                              getOperand(0));
 5803                                              getOperand(0));
 5836                                                       getOperand(0),
 5843                                              getOperand(0));
 5870                                                       getOperand(0),
 5876                                                       getOperand(0),
 5910                                                       getOperand(0),
 5917                                              getOperand(0));
 5946                                                       getOperand(0),
 5953                                              getOperand(0));
 5982                                                       getOperand(0),
 5989                                              getOperand(0));
 6019                                              getOperand(0),
 6031                                              getOperand(0),
 6118     if (!PeepholePPC64ZExtGather(Op32.getOperand(0), ToPromote1))
 6133     if (!PeepholePPC64ZExtGather(Op32.getOperand(B+0), ToPromote1))
 6135     if (!PeepholePPC64ZExtGather(Op32.getOperand(B+1), ToPromote1))
 6149     if (!PeepholePPC64ZExtGather(Op32.getOperand(0), ToPromote1))
 6164       PeepholePPC64ZExtGather(Op32.getOperand(0), ToPromote1);
 6166       PeepholePPC64ZExtGather(Op32.getOperand(1), ToPromote2);
 6188       PeepholePPC64ZExtGather(Op32.getOperand(0), ToPromote1);
 6244     SDValue IDef = ISR.getOperand(0);
 6320           SDValue ReplOpOps[] = { ISR.getOperand(0), V, ISR.getOperand(2) };
 6320           SDValue ReplOpOps[] = { ISR.getOperand(0), V, ISR.getOperand(2) };
 6462           (!isa<ConstantSDNode>(Base.getOperand(1)) ||
 6477     SDValue ImmOpnd = Base.getOperand(1);
 6490     SDValue HBase = Base.getOperand(0);
 6508         SDValue HImmOpnd = HBase.getOperand(1);
 6571                                        Base.getOperand(0), N->getOperand(3));
 6573       (void)CurDAG->UpdateNodeOperands(N, ImmOpnd, Base.getOperand(0),
 6577       (void)CurDAG->UpdateNodeOperands(HBase.getNode(), HBase.getOperand(0),
lib/Target/PowerPC/PPCISelLowering.cpp
 1449     if (ConstantPoolSDNode *CP = dyn_cast<ConstantPoolSDNode>(Op.getOperand(1)))
 2266           Base = N.getOperand(0);
 2267           Index = N.getOperand(1);
 2290     if (isIntS16Immediate(N.getOperand(1), imm) &&
 2293     if (N.getOperand(1).getOpcode() == PPCISD::Lo)
 2296     Base = N.getOperand(0);
 2297     Index = N.getOperand(1);
 2300     if (isIntS16Immediate(N.getOperand(1), imm) &&
 2307     KnownBits LHSKnown = DAG.computeKnownBits(N.getOperand(0));
 2310       KnownBits RHSKnown = DAG.computeKnownBits(N.getOperand(1));
 2314         Base = N.getOperand(0);
 2315         Index = N.getOperand(1);
 2380     if (isIntS16Immediate(N.getOperand(1), imm) &&
 2383       if (FrameIndexSDNode *FI = dyn_cast<FrameIndexSDNode>(N.getOperand(0))) {
 2387         Base = N.getOperand(0);
 2390     } else if (N.getOperand(1).getOpcode() == PPCISD::Lo) {
 2392       assert(!cast<ConstantSDNode>(N.getOperand(1).getOperand(1))->getZExtValue()
 2392       assert(!cast<ConstantSDNode>(N.getOperand(1).getOperand(1))->getZExtValue()
 2394       Disp = N.getOperand(1).getOperand(0);  // The global address.
 2394       Disp = N.getOperand(1).getOperand(0);  // The global address.
 2399       Base = N.getOperand(0);
 2404     if (isIntS16Immediate(N.getOperand(1), imm) &&
 2409       KnownBits LHSKnown = DAG.computeKnownBits(N.getOperand(0));
 2415               dyn_cast<FrameIndexSDNode>(N.getOperand(0))) {
 2419           Base = N.getOperand(0);
 2483       (!isIntS16Immediate(N.getOperand(1), imm) ||
 2484        !N.getOperand(1).hasOneUse() || !N.getOperand(0).hasOneUse())) {
 2484        !N.getOperand(1).hasOneUse() || !N.getOperand(0).hasOneUse())) {
 2485     Base = N.getOperand(0);
 2486     Index = N.getOperand(1);
 2976   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
 2982     if (Op.getOperand(0).getValueType() == MVT::v2i64) {
 2988                    DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Op.getOperand(0)),
 2989                    DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Op.getOperand(1)),
 3006   if (ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
 3019   EVT LHSVT = Op.getOperand(0).getValueType();
 3022     SDValue Sub = DAG.getNode(ISD::XOR, dl, LHSVT, Op.getOperand(0),
 3023                                 Op.getOperand(1));
 3133   return DAG.getMemcpy(Op.getOperand(0), Op,
 3134                        Op.getOperand(1), Op.getOperand(2),
 3134                        Op.getOperand(1), Op.getOperand(2),
 3141   return Op.getOperand(0);
 3146   SDValue Chain = Op.getOperand(0);
 3147   SDValue Trmp = Op.getOperand(1); // trampoline
 3148   SDValue FPtr = Op.getOperand(2); // nested function
 3149   SDValue Nest = Op.getOperand(3); // 'nest' parameter value
 3191     const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 3192     return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1),
 3192     return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1),
 3236   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 3240       DAG.getTruncStore(Op.getOperand(0), dl, ArgGPR, Op.getOperand(1),
 3240       DAG.getTruncStore(Op.getOperand(0), dl, ArgGPR, Op.getOperand(1),
 3243   SDValue nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, Op.getOperand(1),
 6979   SDValue Chain = Op.getOperand(0);
 7001   SDValue Chain = Op.getOperand(0);
 7002   SDValue SaveSP = Op.getOperand(1);
 7063   SDValue Chain = Op.getOperand(0);
 7064   SDValue Size  = Op.getOperand(1);
 7096                      Op.getOperand(0), Op.getOperand(1));
 7096                      Op.getOperand(0), Op.getOperand(1));
 7103                      Op.getOperand(0), Op.getOperand(1));
 7103                      Op.getOperand(0), Op.getOperand(1));
 7132   if (Op.getOperand(1).getValueType().isVector())
 7135   assert(Op.getOperand(1).getValueType() == MVT::i1 &&
 7160                      Op.getOperand(0));
 7188   SDValue N1 = Op.getOperand(0);
 7222   if (!Op.getOperand(0).getValueType().isFloatingPoint() ||
 7223       !Op.getOperand(2).getValueType().isFloatingPoint())
 7235   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(4))->get();
 7238   EVT CmpVT = Op.getOperand(0).getValueType();
 7239   SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1);
 7239   SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1);
 7240   SDValue TV  = Op.getOperand(2), FV  = Op.getOperand(3);
 7240   SDValue TV  = Op.getOperand(2), FV  = Op.getOperand(3);
 7348   assert(Op.getOperand(0).getValueType().isFloatingPoint());
 7349   SDValue Src = Op.getOperand(0);
 7411   assert(Op.getOperand(0).getValueType().isFloatingPoint());
 7412   SDValue Src = Op.getOperand(0);
 7449   if (Op.getOperand(0).getValueType() == MVT::ppcf128) {
 7453                                  MVT::f64, Op.getOperand(0),
 7456                                  MVT::f64, Op.getOperand(0),
 7473                                    Op.getOperand(0), Tmp);
 7478                                     Op.getOperand(0));
 7479         return DAG.getSelectCC(dl, Op.getOperand(0), Tmp, True, False,
 7514                                Op.getOperand(0).getValueType())) {
 7572   SDNode *Origin = Op.getOperand(0).getNode();
 7610   SDValue Src = Op.getOperand(0);
 7662   SDValue Wide = widenVec(DAG, Op.getOperand(0), dl);
 7690                          DAG.getValueType(Op.getOperand(0).getValueType()));
 7701   EVT InVT = Op.getOperand(0).getValueType();
 7711   if (Subtarget.hasQPX() && Op.getOperand(0).getValueType() == MVT::v4i1) {
 7715     SDValue Value = Op.getOperand(0);
 7736   if (Op.getOperand(0).getValueType() == MVT::i1)
 7737     return DAG.getNode(ISD::SELECT, dl, Op.getValueType(), Op.getOperand(0),
 7761   if (Op.getOperand(0).getValueType() == MVT::i64) {
 7762     SDValue SINT = Op.getOperand(0);
 7841                SINT.getOperand(0).getValueType() == MVT::i32) {
 7849           DAG.getStore(DAG.getEntryNode(), dl, SINT.getOperand(0), FIdx,
 7881   assert(Op.getOperand(0).getValueType() == MVT::i32 &&
 7895     if (!(ReusingLoad = canReuseLoadAddress(Op.getOperand(0), MVT::i32, RLI,
 7901           DAG.getStore(DAG.getEntryNode(), dl, Op.getOperand(0), FIdx,
 7933                                 Op.getOperand(0));
 8022          VT == Op.getOperand(1).getValueType() &&
 8027   SDValue Lo = Op.getOperand(0);
 8028   SDValue Hi = Op.getOperand(1);
 8029   SDValue Amt = Op.getOperand(2);
 8051          VT == Op.getOperand(1).getValueType() &&
 8056   SDValue Lo = Op.getOperand(0);
 8057   SDValue Hi = Op.getOperand(1);
 8058   SDValue Amt = Op.getOperand(2);
 8080          VT == Op.getOperand(1).getValueType() &&
 8084   SDValue Lo = Op.getOperand(0);
 8085   SDValue Hi = Op.getOperand(1);
 8086   SDValue Amt = Op.getOperand(2);
 8212          V->getOperand(i).getOperand(0).getOpcode() == ISD::LOAD) ||
 8214          V->getOperand(i).getOperand(0).getOpcode() == ISD::LOAD) ||
 8216          V->getOperand(i).getOperand(0).getOpcode() == ISD::LOAD))
 8236       (Op0.getOperand(0).getValueType() !=  MVT::i64) ||
 8237       (Op0.getOperand(1).getValueType() != MVT::i64))
 8240   return DAG.getNode(PPCISD::BUILD_FP128, dl, MVT::f128, Op0.getOperand(0),
 8241                      Op0.getOperand(1));
 8247     InputLoad = &InputLoad->getOperand(0);
 8249     InputLoad = &InputLoad->getOperand(0);
 8379     const SDValue *InputLoad = getNormalLoadInput(Op.getOperand(0));
 8883   SDValue V1 = Op.getOperand(0);
 8884   SDValue V2 = Op.getOperand(1);
 9199       cast<ConstantSDNode>(Intrin.getOperand(0))->getZExtValue();
 9445     cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 9465     SDValue Tmp = DAG.getNode(PPCISD::VCMP, dl, Op.getOperand(2).getValueType(),
 9466                               Op.getOperand(1), Op.getOperand(2),
 9466                               Op.getOperand(1), Op.getOperand(2),
 9473     Op.getOperand(2),  // LHS
 9474     Op.getOperand(3),  // RHS
 9477   EVT VTs[] = { Op.getOperand(2).getValueType(), MVT::Glue };
 9489   switch (cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue()) {
 9523   int ArgStart = isa<ConstantSDNode>(Op.getOperand(0)) ? 0 : 1;
 9525   switch (cast<ConstantSDNode>(Op.getOperand(ArgStart))->getZExtValue()) {
 9531                                                   Op.getOperand(ArgStart + 1)),
 9532                                       Op.getOperand(0)),
 9543   for (auto UI : Op.getOperand(1)->uses()) {
 9546       if (UI->getOperand(0) == Op.getOperand(0) &&
 9547           UI->getOperand(1) == Op.getOperand(1))
 9557   Op = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v2i64, Op.getOperand(0),
 9558                    Op.getOperand(0));
 9582   SDValue CmpOp = Op.getOperand(2);
 9616   SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, Op.getOperand(0), FIdx,
 9627   ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op.getOperand(2));
 9634   SDValue V1 = Op.getOperand(0);
 9635   SDValue V2 = Op.getOperand(1);
 9928     SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1);
 9928     SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1);
 9953     SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1);
 9953     SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1);
 9960     SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1);
 9960     SDValue LHS = Op.getOperand(0), RHS = Op.getOperand(1);
10016   SDValue X = Op.getOperand(0);
10042       Op.getOperand(0).getValueType() != MVT::v2f32)
10046   SDValue Op0 = Op.getOperand(0);
10056     if (Op0.getOperand(0).getValueType() != MVT::v4f32)
10060     int Idx = cast<ConstantSDNode>(Op0.getOperand(1))->getZExtValue();
10073                        Op0.getOperand(0), DAG.getConstant(DWord, dl, MVT::i32));
10081       SDValue LdOp = Op0.getOperand(i);
11712     Base = Loc.getOperand(0);
11713     Offset += cast<ConstantSDNode>(Loc.getOperand(1))->getSExtValue();
11717     getBaseWithConstantOffset(Loc.getOperand(0), Base, Offset, DAG);
12108           N->getOperand(i).getOperand(0).getValueType() == MVT::i1) ||
12136       if (((BinOp.getOperand(i).getOpcode() == ISD::SIGN_EXTEND ||
12137             BinOp.getOperand(i).getOpcode() == ISD::ZERO_EXTEND ||
12138             BinOp.getOperand(i).getOpcode() == ISD::ANY_EXTEND) &&
12139            BinOp.getOperand(i).getOperand(0).getValueType() == MVT::i1) ||
12139            BinOp.getOperand(i).getOperand(0).getValueType() == MVT::i1) ||
12140           isa<ConstantSDNode>(BinOp.getOperand(i))) {
12141         Inputs.push_back(BinOp.getOperand(i));
12142       } else if (BinOp.getOperand(i).getOpcode() == ISD::AND ||
12143                  BinOp.getOperand(i).getOpcode() == ISD::OR  ||
12144                  BinOp.getOperand(i).getOpcode() == ISD::XOR ||
12145                  BinOp.getOperand(i).getOpcode() == ISD::SELECT ||
12146                  BinOp.getOperand(i).getOpcode() == ISD::SELECT_CC ||
12147                  BinOp.getOperand(i).getOpcode() == ISD::TRUNCATE ||
12148                  BinOp.getOperand(i).getOpcode() == ISD::SIGN_EXTEND ||
12149                  BinOp.getOperand(i).getOpcode() == ISD::ZERO_EXTEND ||
12150                  BinOp.getOperand(i).getOpcode() == ISD::ANY_EXTEND) {
12151         BinOps.push_back(BinOp.getOperand(i));
12221       DAG.ReplaceAllUsesOfValueWith(Inputs[i], Inputs[i].getOperand(0));
12241       if (!isa<ConstantSDNode>(PromOp.getOperand(0)) &&
12242           PromOp.getOperand(0).getValueType() != MVT::i1) {
12248       SDValue RepValue = PromOp.getOperand(0);
12263     if ((!isa<ConstantSDNode>(PromOp.getOperand(C)) &&
12264          PromOp.getOperand(C).getValueType() != MVT::i1) ||
12265         (!isa<ConstantSDNode>(PromOp.getOperand(C+1)) &&
12266          PromOp.getOperand(C+1).getValueType() != MVT::i1)) {
12352       if (BinOp.getOperand(i).getOpcode() == ISD::TRUNCATE ||
12353           isa<ConstantSDNode>(BinOp.getOperand(i))) {
12354         Inputs.push_back(BinOp.getOperand(i));
12355       } else if (BinOp.getOperand(i).getOpcode() == ISD::AND ||
12356                  BinOp.getOperand(i).getOpcode() == ISD::OR  ||
12357                  BinOp.getOperand(i).getOpcode() == ISD::XOR ||
12358                  BinOp.getOperand(i).getOpcode() == ISD::SELECT ||
12359                  BinOp.getOperand(i).getOpcode() == ISD::SELECT_CC) {
12360         BinOps.push_back(BinOp.getOperand(i));
12439         Inputs[i].getOperand(0).getValueSizeInBits();
12443            !DAG.MaskedValueIsZero(Inputs[i].getOperand(0),
12447            DAG.ComputeNumSignBits(Inputs[i].getOperand(0)) <
12464     SDValue InSrc = Inputs[i].getOperand(0);
12497     if ((!isa<ConstantSDNode>(PromOp.getOperand(C)) &&
12498          PromOp.getOperand(C).getValueType() != N->getValueType(0)) ||
12499         (!isa<ConstantSDNode>(PromOp.getOperand(C+1)) &&
12500          PromOp.getOperand(C+1).getValueType() != N->getValueType(0))) {
12514            PromOp.getOperand(0).getValueType() != N->getValueType(0)) ||
12516            PromOp.getOperand(1).getValueType() != N->getValueType(0))) {
12590     if (LHS.getOpcode() == ISD::SUB && isNullConstant(LHS.getOperand(0)) &&
12596     if (RHS.getOpcode() == ISD::SUB && isNullConstant(RHS.getOperand(0)) &&
12602       SDValue Add = DAG.getNode(ISD::ADD, DL, OpVT, LHS, RHS.getOperand(1));
12640   unsigned FirstConversion = FirstInput.getOperand(0).getOpcode();
12648     EVT SrcVT = FirstInput.getOperand(0).getValueType();
12655       unsigned NextConversion = NextOp.getOperand(0).getOpcode();
12662       if (Is32Bit && !isFPExtLoad(NextOp.getOperand(0).getOperand(0)))
12662       if (Is32Bit && !isFPExtLoad(NextOp.getOperand(0).getOperand(0)))
12676       SDValue In = N->getOperand(i).getOperand(0);
12684                                       MVT::f32, In.getOperand(0),
12689         Ops.push_back(In.isUndef() ? DAG.getUNDEF(SrcVT) : In.getOperand(0));
12729       FirstInput.getOperand(0).getOpcode() == ISD::LOAD) {
12730     LoadSDNode *LD = dyn_cast<LoadSDNode>(FirstInput.getOperand(0));
12743     SDValue NextInput = IsRoundOfExtLoad ? N->getOperand(i).getOperand(0) :
12749       IsRoundOfExtLoad ? N->getOperand(i-1).getOperand(0) : N->getOperand(i-1);
12771     IsRoundOfExtLoad ? FirstInput.getOperand(0) : FirstInput;
12773     IsRoundOfExtLoad ? N->getOperand(N->getNumOperands()-1).getOperand(0) :
12868     SDValue Extract = Op.getOperand(0);
12870       Extract = Extract.getOperand(0);
12874     ConstantSDNode *ExtOp = dyn_cast<ConstantSDNode>(Extract.getOperand(1));
12879     if (Input && Input != Extract.getOperand(0))
12883       Input = Extract.getOperand(0);
12982   SDValue Ext1 = FirstInput.getOperand(0);
12983   SDValue Ext2 = N->getOperand(1).getOperand(0);
12988   ConstantSDNode *Ext1Op = dyn_cast<ConstantSDNode>(Ext1.getOperand(1));
12989   ConstantSDNode *Ext2Op = dyn_cast<ConstantSDNode>(Ext2.getOperand(1));
12992   if (Ext1.getOperand(0).getValueType() != MVT::v4i32 ||
12993       Ext1.getOperand(0) != Ext2.getOperand(0))
12993       Ext1.getOperand(0) != Ext2.getOperand(0))
13006   SDValue SrcVec = Ext1.getOperand(0);
13030   if (Op.getOperand(0).getValueType().getSimpleVT() <= MVT(MVT::i1) ||
13031       Op.getOperand(0).getValueType().getSimpleVT() > MVT(MVT::i64))
13034   SDValue FirstOperand(Op.getOperand(0));
13067   if (Op.getOperand(0).getValueType() == MVT::i32)
13086   if ((Op.getOperand(0).getOpcode() == ISD::FP_TO_UINT &&
13088       (Op.getOperand(0).getOpcode() == ISD::FP_TO_SINT)) {
13089     SDValue Src = Op.getOperand(0).getOperand(0);
13089     SDValue Src = Op.getOperand(0).getOperand(0);
13099       Op.getOperand(0).getOpcode() == ISD::FP_TO_SINT ? PPCISD::FCTIDZ :
13262   SDValue Val = N->getOperand(1).getOperand(0);
13446       SDValue BSwapOp = N->getOperand(1).getOperand(0);
13834               ISD::isBuildVectorAllZeros(V1.getOperand(0).getNode()) &&
13835               V1.getOperand(1) == V2) {
13840               ISD::isBuildVectorAllZeros(V2.getOperand(0).getNode()) &&
13841               V2.getOperand(1) == V1) {
13846               V1.getOperand(0) == V2.getOperand(1) &&
13846               V1.getOperand(0) == V2.getOperand(1) &&
13847               V1.getOperand(1) == V2.getOperand(0)) {
13847               V1.getOperand(1) == V2.getOperand(0)) {
13974         cast<ConstantSDNode>(Cond.getOperand(1))->getZExtValue() ==
13979       DAG.ReplaceAllUsesOfValueWith(Cond.getValue(1), Cond.getOperand(0));
13999         LHS.getOperand(0).getOpcode() == ISD::INTRINSIC_W_CHAIN &&
14000         cast<ConstantSDNode>(LHS.getOperand(0).getOperand(1))->getZExtValue() ==
14000         cast<ConstantSDNode>(LHS.getOperand(0).getOperand(1))->getZExtValue() ==
14002         isa<ConstantSDNode>(LHS.getOperand(1)) &&
14003         !isNullConstant(LHS.getOperand(1)))
14004       LHS = LHS.getOperand(0);
14007         cast<ConstantSDNode>(LHS.getOperand(1))->getZExtValue() ==
14019       DAG.ReplaceAllUsesOfValueWith(LHS.getValue(1), LHS.getOperand(0));
14050         LHS.getOperand(2),  // LHS of compare
14051         LHS.getOperand(3),  // RHS of compare
14054       EVT VTs[] = { LHS.getOperand(2).getValueType(), MVT::Glue };
14059       switch (cast<ConstantSDNode>(LHS.getOperand(1))->getZExtValue()) {
14137     if (cast<VTSDNode>(Op.getOperand(2))->getVT() == MVT::i16)
14142     switch (cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue()) {
14515   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
14543   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
15140       N0.getOperand(0).getValueType() != MVT::i32 ||
15146   SDValue ExtsSrc = N0.getOperand(0);
15148       ExtsSrc.getOperand(0).getOpcode() == ISD::AssertSext)
15193     SDValue Cmp = Op.getOperand(0);
15195         Cmp.getOperand(0).getValueType() != MVT::i64)
15198     if (auto *Constant = dyn_cast<ConstantSDNode>(Cmp.getOperand(1))) {
15219   SDValue Cmp = RHS.getOperand(0);
15220   SDValue Z = Cmp.getOperand(0);
15221   auto *Constant = dyn_cast<ConstantSDNode>(Cmp.getOperand(1));
15226   switch(cast<CondCodeSDNode>(Cmp.getOperand(2))->get()) {
15299     ConstantSDNode *ConstNode = dyn_cast<ConstantSDNode>(Op0.getOperand(1));
15307     Op0 = Op0.getOperand(0);
15313       Op0.getOperand(0).getValueType() == MVT::f128) {
15314     SDValue Bitcast = DCI.DAG.getBitcast(MVT::v2i64, Op0.getOperand(0));
15539   ISD::CondCode CC = cast<CondCodeSDNode>(Cond.getOperand(2))->get();
15554   SDValue CmpOpnd1 = Cond.getOperand(0);
15555   SDValue CmpOpnd2 = Cond.getOperand(1);
15560   if (TrueOpnd.getOperand(0) == CmpOpnd1 &&
15561       TrueOpnd.getOperand(1) == CmpOpnd2 &&
15562       FalseOpnd.getOperand(0) == CmpOpnd2 &&
15563       FalseOpnd.getOperand(1) == CmpOpnd1) {
lib/Target/RISCV/RISCVISelDAGToDAG.cpp
  153         CurDAG->SelectNodeTo(Node, RISCV::SRLIW, XLenVT, Op0.getOperand(0),
  255     SDValue ImmOperand = Base.getOperand(1);
  276       CurDAG->UpdateNodeOperands(N, Base.getOperand(0), ImmOperand,
  279       CurDAG->UpdateNodeOperands(N, N->getOperand(0), Base.getOperand(0),
lib/Target/RISCV/RISCVISelLowering.cpp
  399     SDValue Op0 = Op.getOperand(0);
  614   SDValue CondV = Op.getOperand(0);
  615   SDValue TrueV = Op.getOperand(1);
  616   SDValue FalseV = Op.getOperand(2);
  627       CondV.getOperand(0).getSimpleValueType() == XLenVT) {
  628     SDValue LHS = CondV.getOperand(0);
  629     SDValue RHS = CondV.getOperand(1);
  630     auto CC = cast<CondCodeSDNode>(CondV.getOperand(2));
  663   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
  664   return DAG.getStore(Op.getOperand(0), DL, FI, Op.getOperand(1),
  664   return DAG.getStore(Op.getOperand(0), DL, FI, Op.getOperand(1),
  680   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
  705   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
  724   SDValue Lo = Op.getOperand(0);
  725   SDValue Hi = Op.getOperand(1);
  726   SDValue Shamt = Op.getOperand(2);
  763   SDValue Lo = Op.getOperand(0);
  764   SDValue Hi = Op.getOperand(1);
  765   SDValue Shamt = Op.getOperand(2);
  935       return DCI.CombineTo(N, Op0.getOperand(0), Op0.getOperand(1));
  935       return DCI.CombineTo(N, Op0.getOperand(0), Op0.getOperand(1));
  958                     Op0.getOperand(0));
  993           DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, Op0.getOperand(0));
 1005                                  Op0.getOperand(0));
lib/Target/Sparc/SparcISelDAGToDAG.cpp
   89     if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1))) {
   92                 dyn_cast<FrameIndexSDNode>(Addr.getOperand(0))) {
   97           Base = Addr.getOperand(0);
  104     if (Addr.getOperand(0).getOpcode() == SPISD::Lo) {
  105       Base = Addr.getOperand(1);
  106       Offset = Addr.getOperand(0).getOperand(0);
  106       Offset = Addr.getOperand(0).getOperand(0);
  109     if (Addr.getOperand(1).getOpcode() == SPISD::Lo) {
  110       Base = Addr.getOperand(0);
  111       Offset = Addr.getOperand(1).getOperand(0);
  111       Offset = Addr.getOperand(1).getOperand(0);
  128     if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1)))
  131     if (Addr.getOperand(0).getOpcode() == SPISD::Lo ||
  132         Addr.getOperand(1).getOpcode() == SPISD::Lo)
  134     R1 = Addr.getOperand(0);
  135     R2 = Addr.getOperand(1);
lib/Target/Sparc/SparcISelLowering.cpp
 1309     if (RegisterSDNode *SrcReg = dyn_cast<RegisterSDNode>(Chain.getOperand(1)))
 1869     Known = DAG.computeKnownBits(Op.getOperand(1), Depth + 1);
 1870     Known2 = DAG.computeKnownBits(Op.getOperand(0), Depth + 1);
 1887         LHS.getOperand(3).getOpcode() == SPISD::CMPICC) ||
 1889         LHS.getOperand(3).getOpcode() == SPISD::CMPFCC)) &&
 1890       isOneConstant(LHS.getOperand(0)) &&
 1891       isNullConstant(LHS.getOperand(1))) {
 1892     SDValue CMPCC = LHS.getOperand(3);
 1893     SPCC = cast<ConstantSDNode>(LHS.getOperand(2))->getZExtValue();
 1894     LHS = CMPCC.getOperand(0);
 1895     RHS = CMPCC.getOperand(1);
 2178     Chain = LowerF128_LibCallArg(Chain, Args, Op.getOperand(i), SDLoc(Op), DAG);
 2300   if (Op.getOperand(0).getValueType() == MVT::f64)
 2304   if (Op.getOperand(0).getValueType() == MVT::f32)
 2316   if (Op.getOperand(0).getValueType() != MVT::f128)
 2338   if (Op.getOperand(0).getValueType() == MVT::f128
 2352     Op = DAG.getNode(SPISD::FTOI, dl, MVT::f32, Op.getOperand(0));
 2354     Op = DAG.getNode(SPISD::FTOX, dl, MVT::f64, Op.getOperand(0));
 2363   EVT OpVT = Op.getOperand(0).getValueType();
 2382   SDValue Tmp = DAG.getNode(ISD::BITCAST, dl, floatVT, Op.getOperand(0));
 2395   if (Op.getOperand(0).getValueType() != MVT::f128 ||
 2412   EVT OpVT = Op.getOperand(0).getValueType();
 2430   SDValue Chain = Op.getOperand(0);
 2431   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();
 2432   SDValue LHS = Op.getOperand(2);
 2433   SDValue RHS = Op.getOperand(3);
 2434   SDValue Dest = Op.getOperand(4);
 2467   SDValue LHS = Op.getOperand(0);
 2468   SDValue RHS = Op.getOperand(1);
 2469   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(4))->get();
 2470   SDValue TrueVal = Op.getOperand(2);
 2471   SDValue FalseVal = Op.getOperand(3);
 2515   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 2516   return DAG.getStore(Op.getOperand(0), DL, Offset, Op.getOperand(1),
 2516   return DAG.getStore(Op.getOperand(0), DL, Offset, Op.getOperand(1),
 2545   SDValue Chain = Op.getOperand(0);  // Legalize the chain.
 2546   SDValue Size  = Op.getOperand(1);  // Legalize the size.
 2547   unsigned Align = cast<ConstantSDNode>(Op.getOperand(2))->getZExtValue();
 2845     return LowerF64Op(Op.getOperand(0), dl, DAG, Op.getOpcode());
 2854   SDValue SrcReg128 = Op.getOperand(0);
 2887   SDValue Src1 = Op.getOperand(0);
 2893   SDValue Src2 = Op.getOperand(1);
 2913                      Op.getOperand(2));
 2942   SDValue LHS = Op.getOperand(0);
 2949   SDValue RHS = Op.getOperand(1);
 2991   unsigned IntNo = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
  185       Target = Addr.getOperand(0);
  456     N = N.getOperand(0);
  460     SDValue Op0 = N.getOperand(0);
  461     SDValue Op1 = N.getOperand(1);
  482     SDValue Full = N.getOperand(0);
  483     SDValue Base = N.getOperand(1);
  484     SDValue Anchor = Base.getOperand(0);
  707         Index = Index.getOperand(0);
  709           Index.getOperand(1) == Elem) {
  710         Index = Index.getOperand(0);
  726   auto *MaskNode = dyn_cast<ConstantSDNode>(Op.getOperand(1).getNode());
  739     KnownBits Known = CurDAG->computeKnownBits(Op.getOperand(0));
  744   Op = Op.getOperand(0);
  780     RxSBG.Input = N.getOperand(0);
  787     auto *MaskNode = dyn_cast<ConstantSDNode>(N.getOperand(1).getNode());
  791     SDValue Input = N.getOperand(0);
  810     auto *MaskNode = dyn_cast<ConstantSDNode>(N.getOperand(1).getNode());
  814     SDValue Input = N.getOperand(0);
  833     auto *CountNode = dyn_cast<ConstantSDNode>(N.getOperand(1).getNode());
  838     RxSBG.Input = N.getOperand(0);
  844     RxSBG.Input = N.getOperand(0);
  850       unsigned InnerBitSize = N.getOperand(0).getValueSizeInBits();
  854       RxSBG.Input = N.getOperand(0);
  863     unsigned InnerBitSize = N.getOperand(0).getValueSizeInBits();
  873     RxSBG.Input = N.getOperand(0);
  878     auto *CountNode = dyn_cast<ConstantSDNode>(N.getOperand(1).getNode());
  899     RxSBG.Input = N.getOperand(0);
  905     auto *CountNode = dyn_cast<ConstantSDNode>(N.getOperand(1).getNode());
  927     RxSBG.Input = N.getOperand(0);
 1213   SDValue ElemV = Value.getOperand(1);
 1218   SDValue Vec = Value.getOperand(0);
 1287       SDValue Op = Chain.getOperand(i);
 1291         ChainOps.push_back(Load.getOperand(0));
 1374   SDValue Operand = StoredVal.getOperand(1);
 1454   auto *LoadA = cast<LoadSDNode>(StoreA->getValue().getOperand(1 - I));
 1455   auto *LoadB = cast<LoadSDNode>(StoreA->getValue().getOperand(I));
lib/Target/SystemZ/SystemZISelLowering.cpp
 1712   unsigned Id = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
 1738   unsigned Id = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 1901   Ops.push_back(Op.getOperand(0));
 1903     Ops.push_back(Op.getOperand(I));
 1922     Ops.push_back(Op.getOperand(I));
 2123       C.Op0.getOperand(1).getOpcode() == ISD::Constant &&
 2124       cast<ConstantSDNode>(C.Op0.getOperand(1))->getZExtValue() == 0xffffffff)
 2189     auto *C1 = dyn_cast<ConstantSDNode>(C.Op0.getOperand(1));
 2191       SDValue ShlOp0 = C.Op0.getOperand(0);
 2211       C.Op0.getOperand(0).getOpcode() == ISD::LOAD &&
 2214     auto *L = cast<LoadSDNode>(C.Op0.getOperand(0));
 2219         C.Op0 = C.Op0.getOperand(0);
 2229   auto *Shift = dyn_cast<ConstantSDNode>(N.getOperand(1));
 2352     NewC.Op0 = C.Op0.getOperand(0);
 2353     NewC.Op1 = C.Op0.getOperand(1);
 2396     NewC.Op0 = NewC.Op0.getOperand(0);
 2407     NewC.Op0 = NewC.Op0.getOperand(0);
 2434   auto *Mask = dyn_cast<ConstantSDNode>(C.Op0.getOperand(1));
 2437   KnownBits Known = DAG.computeKnownBits(C.Op0.getOperand(0));
 2441   C.Op0 = C.Op0.getOperand(0);
 2738   SDValue CmpOp0   = Op.getOperand(0);
 2739   SDValue CmpOp1   = Op.getOperand(1);
 2740   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
 2752   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(1))->get();
 2753   SDValue CmpOp0   = Op.getOperand(2);
 2754   SDValue CmpOp1   = Op.getOperand(3);
 2755   SDValue Dest     = Op.getOperand(4);
 2761       SystemZISD::BR_CCMASK, DL, Op.getValueType(), Op.getOperand(0),
 2770           Neg.getOperand(0).getOpcode() == ISD::Constant &&
 2771           cast<ConstantSDNode>(Neg.getOperand(0))->getZExtValue() == 0 &&
 2772           Neg.getOperand(1) == Pos &&
 2775             Pos.getOperand(0) == CmpOp)));
 2790   SDValue CmpOp0   = Op.getOperand(0);
 2791   SDValue CmpOp1   = Op.getOperand(1);
 2792   SDValue TrueOp   = Op.getOperand(2);
 2793   SDValue FalseOp  = Op.getOperand(3);
 2794   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(4))->get();
 3060   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 3091   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 3107   SDValue In = Op.getOperand(0);
 3161   SDValue Chain   = Op.getOperand(0);
 3162   SDValue Addr    = Op.getOperand(1);
 3163   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 3192   SDValue Chain      = Op.getOperand(0);
 3193   SDValue DstPtr     = Op.getOperand(1);
 3194   SDValue SrcPtr     = Op.getOperand(2);
 3195   const Value *DstSV = cast<SrcValueSDNode>(Op.getOperand(3))->getValue();
 3196   const Value *SrcSV = cast<SrcValueSDNode>(Op.getOperand(4))->getValue();
 3212   SDValue Chain = Op.getOperand(0);
 3213   SDValue Size  = Op.getOperand(1);
 3214   SDValue Align = Op.getOperand(2);
 3286     lowerMUL_LOHI32(DAG, DL, ISD::SIGN_EXTEND, Op.getOperand(0),
 3287                     Op.getOperand(1), Ops[1], Ops[0]);
 3293                      Op.getOperand(0), Op.getOperand(1), Ops[1], Ops[0]);
 3293                      Op.getOperand(0), Op.getOperand(1), Ops[1], Ops[0]);
 3309     SDValue LL = Op.getOperand(0);
 3310     SDValue RL = Op.getOperand(1);
 3334     lowerMUL_LOHI32(DAG, DL, ISD::ZERO_EXTEND, Op.getOperand(0),
 3335                     Op.getOperand(1), Ops[1], Ops[0]);
 3341                      Op.getOperand(0), Op.getOperand(1), Ops[1], Ops[0]);
 3341                      Op.getOperand(0), Op.getOperand(1), Ops[1], Ops[0]);
 3347   SDValue Op0 = Op.getOperand(0);
 3348   SDValue Op1 = Op.getOperand(1);
 3376                    Op.getOperand(0), Op.getOperand(1), Ops[1], Ops[0]);
 3376                    Op.getOperand(0), Op.getOperand(1), Ops[1], Ops[0]);
 3384   SDValue Ops[] = {Op.getOperand(0), Op.getOperand(1)};
 3384   SDValue Ops[] = {Op.getOperand(0), Op.getOperand(1)};
 3418       HighOp.getOperand(1).getOpcode() == ISD::Constant) {
 3419     SDValue HighOp0 = HighOp.getOperand(0);
 3420     uint64_t Mask = cast<ConstantSDNode>(HighOp.getOperand(1))->getZExtValue();
 3482     Carry = Carry.getOperand(2);
 3488     Carry = Carry.getOperand(2);
 3505   SDValue Carry = Op.getOperand(2);
 3550   Op = Op.getOperand(0);
 3624     cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue());
 3626     cast<ConstantSDNode>(Op.getOperand(2))->getZExtValue());
 3633                                       Op.getOperand(0)),
 3638   return DAG.getNode(SystemZISD::MEMBARRIER, DL, MVT::Other, Op.getOperand(0));
 3864   return DAG.getCopyFromReg(Op.getOperand(0), SDLoc(Op),
 3874   SDValue Chain = Op.getOperand(0);
 3875   SDValue NewSP = Op.getOperand(1);
 3894   bool IsData = cast<ConstantSDNode>(Op.getOperand(4))->getZExtValue();
 3897     return Op.getOperand(0);
 3900   bool IsWrite = cast<ConstantSDNode>(Op.getOperand(2))->getZExtValue();
 3903   SDValue Ops[] = {Op.getOperand(0), DAG.getTargetConstant(Code, DL, MVT::i32),
 3904                    Op.getOperand(1)};
 3946   unsigned Id = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 3953                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 3953                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 3953                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 3957                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 3957                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 3957                        Op.getOperand(1), Op.getOperand(2), Op.getOperand(3));
 3963                        Op.getOperand(1));
 3969                        Op.getOperand(1));
 3975                        Op.getOperand(1));
 3981                        Op.getOperand(1));
 3990                        Op.getOperand(1), Op.getOperand(2));
 3990                        Op.getOperand(1), Op.getOperand(2));
 4166       isa<ConstantSDNode>(ShuffleOp.getOperand(1))) {
 4339       Op = Op.getOperand(0);
 4353       Op = Op.getOperand(unsigned(NewByte) / SystemZ::VectorBytes);
 4460     if (!Op.getOperand(I).isUndef())
 4535       Op = Op.getOperand(0);
 4537         Op.getOperand(1).getOpcode() == ISD::Constant) {
 4538       unsigned Elem = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
 4539       if (!GS.add(Op.getOperand(0), Elem))
 4742     return buildScalarToVector(DAG, DL, VT, Op.getOperand(0));
 4748     Ops[I] = Op.getOperand(I);
 4760     SDValue Op0 = Op.getOperand(0);
 4767       return DAG.getNode(SystemZISD::REPLICATE, DL, VT, Op0.getOperand(Index));
 4769     return DAG.getNode(SystemZISD::SPLAT, DL, VT, Op.getOperand(0),
 4778     else if (!GS.add(Op.getOperand(unsigned(Elt) / NumElements),
 4791                      Op.getOperand(0), DAG.getConstant(0, DL, MVT::i32));
 4798   SDValue Op0 = Op.getOperand(0);
 4799   SDValue Op1 = Op.getOperand(1);
 4800   SDValue Op2 = Op.getOperand(2);
 4830   SDValue Op0 = Op.getOperand(0);
 4831   SDValue Op1 = Op.getOperand(1);
 4854   SDValue PackedOp = Op.getOperand(0);
 4871   SDValue Op0 = Op.getOperand(0);
 4872   SDValue Op1 = Op.getOperand(1);
 4915                                     VSNOp0.getOperand(Index));
 5280       Op = Op.getOperand(0);
 5302       Op = Op.getOperand(unsigned(First) / Bytes.size());
 5318       Op = Op.getOperand(End / OpBytesPerElement - 1);
 5335                canTreatAsByteVector(Op.getOperand(0).getValueType())) {
 5338       EVT OpVT = Op.getOperand(0).getValueType();
 5353       Op = Op.getOperand(0);
 5379     SDValue Vec = Op.getOperand(0);
 5382       if (auto *IndexN = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
 5414     auto *TrueOp = dyn_cast<ConstantSDNode>(N0.getOperand(0));
 5415     auto *FalseOp = dyn_cast<ConstantSDNode>(N0.getOperand(1));
 5420                         N0.getOperand(2), N0.getOperand(3), N0.getOperand(4) };
 5420                         N0.getOperand(2), N0.getOperand(3), N0.getOperand(4) };
 5420                         N0.getOperand(2), N0.getOperand(3), N0.getOperand(4) };
 5444     N0 = N0.getOperand(0);
 5447     SDValue Ops[] = { N0.getOperand(0), N0.getOperand(1),
 5447     SDValue Ops[] = { N0.getOperand(0), N0.getOperand(1),
 5449                       N0.getOperand(2) };
 5464     auto *SraAmt = dyn_cast<ConstantSDNode>(N0.getOperand(1));
 5465     SDValue Inner = N0.getOperand(0);
 5467       if (auto *ShlAmt = dyn_cast<ConstantSDNode>(Inner.getOperand(1))) {
 5471         EVT ShiftVT = N0.getOperand(1).getValueType();
 5473                                   Inner.getOperand(0));
 5492     Op0 = Op0.getOperand(0);
 5611       SDValue BSwapOp = Op1.getOperand(0);
 5633         N->getOperand(0), Op1.getOperand(0), N->getOperand(2)
 5695       Op.getOperand(0).getValueType().isVector() &&
 5697       Op.getOperand(0).getValueType().getVectorNumElements())
 5698     Op = Op.getOperand(0);
 5705                      Op.getOperand(0), N->getOperand(1));
 5752       Op0.getOperand(0).getValueType() == MVT::v2f64 &&
 5753       Op0.getOperand(1).getOpcode() == ISD::Constant &&
 5754       cast<ConstantSDNode>(Op0.getOperand(1))->getZExtValue() == 0) {
 5755     SDValue Vec = Op0.getOperand(0);
 5765             OtherRound.getOperand(0) == SDValue(U, 0) &&
 5803       Op0.getOperand(0).getValueType() == MVT::v4f32 &&
 5804       Op0.getOperand(1).getOpcode() == ISD::Constant &&
 5805       cast<ConstantSDNode>(Op0.getOperand(1))->getZExtValue() == 0) {
 5806     SDValue Vec = Op0.getOperand(0);
 5816             OtherExtend.getOperand(0) == SDValue(U, 0) &&
 5881       Op.getOperand(0).getValueType().isVector() &&
 5883       Op.getOperand(0).getValueType().getVectorNumElements())
 5884     Op = Op.getOperand(0);
 5888     SDValue Vec = Op.getOperand(0);
 5889     SDValue Elt = Op.getOperand(1);
 5890     SDValue Idx = Op.getOperand(2);
 5920     SDValue Op0 = Op.getOperand(0);
 5921     SDValue Op1 = Op.getOperand(1);
 6192     unsigned Id = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 6236       unsigned Mask = cast<ConstantSDNode>(Op.getOperand(3))->getZExtValue();
 6245       unsigned FirstIdx = cast<ConstantSDNode>(Op.getOperand(3))->getZExtValue();
 6289       DAG.computeKnownBits(Op.getOperand(OpNo), Src0DemE, Depth + 1);
 6291       DAG.computeKnownBits(Op.getOperand(OpNo + 1), Src1DemE, Depth + 1);
 6322     unsigned Id = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 6355       SDValue SrcOp = Op.getOperand(1);
 6374       SDValue SrcOp = Op.getOperand(0);
 6395   unsigned LHS = DAG.ComputeNumSignBits(Op.getOperand(OpNo), Src0DemE, Depth + 1);
 6398   unsigned RHS = DAG.ComputeNumSignBits(Op.getOperand(OpNo + 1), Src1DemE, Depth + 1);
 6401   unsigned SrcBitWidth = Op.getOperand(OpNo).getScalarValueSizeInBits();
 6422     unsigned Id = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 6446       SDValue PackedOp = Op.getOperand(1);
lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
 1023   SDValue Src = Op.getOperand(2);
 1030     SDValue Chain = Op.getOperand(0);
 1032     unsigned Reg = cast<RegisterSDNode>(Op.getOperand(1))->getReg();
 1041                                   Op.getNumOperands() == 4 ? Op.getOperand(3)
 1067   unsigned Depth = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 1159   SDValue Chain = Op.getOperand(0);
 1160   const auto *JT = cast<JumpTableSDNode>(Op.getOperand(1));
 1161   SDValue Index = Op.getOperand(2);
 1189   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
 1193   return DAG.getStore(Op.getOperand(0), DL, ArgN, Op.getOperand(1),
 1193   return DAG.getStore(Op.getOperand(0), DL, ArgN, Op.getOperand(1),
 1204     IntNo = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
 1207     IntNo = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
 1231     int Tag = cast<ConstantSDNode>(Op.getOperand(2).getNode())->getZExtValue();
 1242                            Op.getOperand(0), // inchain
 1244                            Op.getOperand(3)  // thrown value
 1261   if (Op.getOperand(0).getOpcode() == ISD::EXTRACT_VECTOR_ELT) {
 1262     const SDValue &Extract = Op.getOperand(0);
 1263     MVT VecT = Extract.getOperand(0).getSimpleValueType();
 1264     MVT ExtractedLaneT = static_cast<VTSDNode *>(Op.getOperand(1).getNode())
 1272     const SDValue &Index = Extract.getOperand(1);
 1282         DAG.getBitcast(ExtractedVecT, Extract.getOperand(0)), NewIndex);
 1284                        NewExtract, Op.getOperand(1));
 1294   const EVT LaneT = Op.getOperand(0).getValueType();
 1453   MVT VecType = Op.getOperand(0).getSimpleValueType();
 1460   Ops[OpIdx++] = Op.getOperand(0);
 1461   Ops[OpIdx++] = Op.getOperand(1);
 1479   SDNode *IdxNode = Op.getOperand(Op.getNumOperands() - 1).getNode();
 1494   SDValue ShiftVal = Op.getOperand(1);
 1506                   Op.getOperand(0),      // original vector operand,
 1522   if (!(ShiftVec = dyn_cast<BuildVectorSDNode>(Op.getOperand(1).getNode())) ||
 1547   return DAG.getNode(Opcode, DL, Op.getValueType(), Op.getOperand(0),
lib/Target/X86/X86ISelDAGToDAG.cpp
  654         SDValue Val = Op1.getOperand(0);
  665             isOneConstant(U->getOperand(0).getOperand(0)))
  669             isOneConstant(U->getOperand(1).getOperand(0)))
  676           auto *C = dyn_cast<ConstantSDNode>(U0.getOperand(0));
  682           auto *C = dyn_cast<ConstantSDNode>(U1.getOperand(0));
  720   SDValue Chain = OrigChain.getOperand(0);
  722     Ops.push_back(Load.getOperand(0));
  727       if (Chain.getOperand(i).getNode() == Load.getNode())
  728         Ops.push_back(Load.getOperand(0));
  730         Ops.push_back(Chain.getOperand(i));
  738   CurDAG->UpdateNodeOperands(Load.getNode(), Call.getOperand(0),
  739                              Load.getOperand(1), Load.getOperand(2));
  739                              Load.getOperand(1), Load.getOperand(2));
  770     Chain = Chain.getOperand(0);
  780   if (Chain.getOperand(0).getNode() == Callee.getNode())
  782   if (Chain.getOperand(0).getOpcode() == ISD::TokenFactor &&
  783       Callee.getValue(1).isOperandOf(Chain.getOperand(0).getNode()) &&
 1136   SDValue N00 = N0.getOperand(0);
 1187                                                      And.getOperand(0),
 1188                                                      And.getOperand(1));
 1204         SDValue Ops[] = { And.getOperand(1),
 1205                           And.getOperand(2),
 1206                           And.getOperand(3),
 1207                           And.getOperand(4),
 1208                           And.getOperand(5),
 1209                           And.getOperand(0),
 1210                           And.getOperand(6)  /* Chain */ };
 1246                                                       And.getOperand(0),
 1247                                                       And.getOperand(1));
 1287     SDValue In = Move.getOperand(0);
 1412     SDValue Val = N.getOperand(0);
 1436   SDValue N0 = N.getOperand(0);
 1516   if (!matchAddressRecursively(N.getOperand(0), AM, Depth+1) &&
 1517       !matchAddressRecursively(Handle.getValue().getOperand(1), AM, Depth+1))
 1522   if (!matchAddressRecursively(Handle.getValue().getOperand(1), AM, Depth+1) &&
 1523       !matchAddressRecursively(Handle.getValue().getOperand(0), AM, Depth+1))
 1534     AM.Base_Reg = N.getOperand(0);
 1535     AM.IndexReg = N.getOperand(1);
 1571       !isa<ConstantSDNode>(Shift.getOperand(1)) ||
 1612   SDValue Shift = N.getOperand(0);
 1624       Shift.getOperand(0).getSimpleValueType() == MVT::i32 &&
 1627     Shift = Shift.getOperand(0);
 1631       !isa<ConstantSDNode>(Shift.getOperand(1)))
 1634   SDValue X = Shift.getOperand(0);
 1657   SDValue NewShift = DAG.getNode(ISD::SHL, DL, VT, NewAnd, Shift.getOperand(1));
 1707       !isa<ConstantSDNode>(Shift.getOperand(1)))
 1741                           X.getOperand(0).getSimpleValueType().getSizeInBits();
 1744     X = X.getOperand(0);
 1795       !isa<ConstantSDNode>(Shift.getOperand(1)) ||
 1876       if (const auto *ESNode = dyn_cast<MCSymbolSDNode>(N.getOperand(0))) {
 1915     if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N.getOperand(1))) {
 1923         SDValue ShVal = N.getOperand(0);
 1929           AM.IndexReg = ShVal.getOperand(0);
 1930           ConstantSDNode *AddVal = cast<ConstantSDNode>(ShVal.getOperand(1));
 1951     SDValue And = N.getOperand(0);
 1953     SDValue X = And.getOperand(0);
 1958     if (!isa<ConstantSDNode>(N.getOperand(1)) ||
 1959         !isa<ConstantSDNode>(And.getOperand(1)))
 1981       if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N.getOperand(1)))
 1986           SDValue MulVal = N.getOperand(0);
 1993               isa<ConstantSDNode>(MulVal.getOperand(1))) {
 1994             Reg = MulVal.getOperand(0);
 1996               cast<ConstantSDNode>(MulVal.getOperand(1));
 1999               Reg = N.getOperand(0);
 2001             Reg = N.getOperand(0);
 2024     if (matchAddressRecursively(N.getOperand(0), AM, Depth+1)) {
 2037     SDValue RHS = N.getOperand(1);
 2046          RHS.getOperand(0).getValueType() == MVT::i32))
 2087     if (CurDAG->haveNoCommonBitsSet(N.getOperand(0), N.getOperand(1)) &&
 2087     if (CurDAG->haveNoCommonBitsSet(N.getOperand(0), N.getOperand(1)) &&
 2104     if (!isa<ConstantSDNode>(N.getOperand(1)))
 2107     if (N.getOperand(0).getOpcode() == ISD::SRL) {
 2108       SDValue Shift = N.getOperand(0);
 2109       SDValue X = Shift.getOperand(0);
 2138     if (N.getOperand(0).getOpcode() != ISD::SHL || !N.getOperand(0).hasOneUse())
 2138     if (N.getOperand(0).getOpcode() != ISD::SHL || !N.getOperand(0).hasOneUse())
 2142     SDValue Shl = N.getOperand(0);
 2143     auto *ShAmtC = dyn_cast<ConstantSDNode>(Shl.getOperand(1));
 2151     if (!CurDAG->MaskedValueIsZero(Shl.getOperand(0), HighZeros))
 2157     SDValue Zext = CurDAG->getNode(ISD::ZERO_EXTEND, DL, VT, Shl.getOperand(0));
 2158     SDValue NewShl = CurDAG->getNode(ISD::SHL, DL, VT, Zext, Shl.getOperand(1));
 2346     PatternNodeWithChain = N.getOperand(0);
 2375   N = N.getOperand(0);
 2505     if (isMathWithFlags(N.getOperand(0)) && isMathWithFlags(N.getOperand(1)))
 2505     if (isMathWithFlags(N.getOperand(0)) && isMathWithFlags(N.getOperand(1)))
 2556     N = N.getOperand(0);
 2565   unsigned Opc = N.getOperand(0)->getOpcode();
 2567     Op = N.getOperand(0);
 2574   auto *GA = cast<GlobalAddressSDNode>(N.getOperand(0));
 2596                     N.getOperand(1), Base, Scale, Index, Disp, Segment);
 2610                     N.getOperand(1), Base, Scale, Index, Disp, Segment);
 2886     ChainOps.push_back(Load.getOperand(0));
 2889       SDValue Op = Chain.getOperand(i);
 2893         ChainOps.push_back(Load.getOperand(0));
 2958     IsNegate = isNullConstant(StoredVal.getOperand(0));
 3023       bool IsOne = isOneConstant(StoredVal.getOperand(1));
 3024       bool IsNegOne = isAllOnesConstant(StoredVal.getOperand(1));
 3151                                StoredVal.getOperand(2), SDValue());
 3217              V.getOperand(0).getSimpleValueType() == MVT::i64 &&
 3219       V = V.getOperand(0);
 3275       ShiftAmt = ShiftAmt.getOperand(0);
 3283     auto V0 = dyn_cast<ConstantSDNode>(ShiftAmt.getOperand(0));
 3286     NBits = ShiftAmt.getOperand(1);
 3300     if (!isAllOnesConstant(Mask.getOperand(0)))
 3302     SDValue M1 = Mask.getOperand(1);
 3412     SDValue ShiftAmt = X.getOperand(1);
 3413     X = X.getOperand(0);
 3548         Tmp0, Tmp1, Tmp2, Tmp3, Tmp4, Control, Input.getOperand(0)};
 3584                       N1.getOperand(0) };
 3617                       N2.getOperand(0), InFlag };
 3743       Shift.getOperand(0).getSimpleValueType() == MVT::i32 &&
 3746     Shift = Shift.getOperand(0);
 3756   ConstantSDNode *ShlCst = dyn_cast<ConstantSDNode>(Shift.getOperand(1));
 3817   SDValue X = Shift.getOperand(0);
 3829                                    Shift.getOperand(1));
 4117   ISD::CondCode CC = cast<CondCodeSDNode>(Setcc.getOperand(2))->get();
 4121   SDValue SetccOp0 = Setcc.getOperand(0);
 4122   SDValue SetccOp1 = Setcc.getOperand(1);
 4145       N0Temp = N0.getOperand(0);
 4149       Src0 = N0Temp.getOperand(0);
 4150       Src1 = N0Temp.getOperand(1);
 4181       Src = Src.getOperand(0);
 4268                         Load.getOperand(0) };
 4272                         Load.getOperand(0) };
 4328   SDValue A = N1.getOperand(0);
 4329   SDValue C = N1.getOperand(1);
 4334   if (N0.getOperand(0) == A)
 4335     B = N0.getOperand(1);
 4336   else if (N0.getOperand(1) == A)
 4337     B = N0.getOperand(0);
 4604         SDValue Ops[] = { N1, Tmp0, Tmp1, Tmp2, Tmp3, Tmp4, N0.getOperand(0) };
 4677       SDValue Ops[] = { Tmp0, Tmp1, Tmp2, Tmp3, Tmp4, N1.getOperand(0),
 4751       SDValue Ops[] = { Tmp0, Tmp1, Tmp2, Tmp3, Tmp4, N1.getOperand(0),
 4853         SDValue Ops[] = { Tmp0, Tmp1, Tmp2, Tmp3, Tmp4, N0.getOperand(0) };
 4911       SDValue Ops[] = { Tmp0, Tmp1, Tmp2, Tmp3, Tmp4, N1.getOperand(0),
 5000       N0 = N0.getOperand(0);
 5008       ConstantSDNode *C = dyn_cast<ConstantSDNode>(N0.getOperand(1));
 5022                                            N0.getOperand(0), Imm), 0);
 5033                                            N0.getOperand(0), Imm), 0);
 5091       SDValue Reg = N0.getOperand(0);
 5098                           Reg.getOperand(0) };
lib/Target/X86/X86ISelLowering.cpp
 4217       Arg = Arg.getOperand(0);
 4221       const SDValue &TruncInput = Arg.getOperand(0);
 4223           cast<VTSDNode>(TruncInput.getOperand(1))->getVT() ==
 4225         Arg = TruncInput.getOperand(0);
 4234     unsigned VR = cast<RegisterSDNode>(Arg.getOperand(1))->getReg();
 4868     if (const auto *GA = dyn_cast<GlobalAddressSDNode>(BasePtr.getOperand(0)))
 5126     return N->getOperand(1) == N->getOperand(0).getOperand(1);
 5590         Src.getOperand(1).getValueType() == SubVT &&
 5591         isNullConstant(Src.getOperand(2))) {
 5592       Ops.push_back(Src.getOperand(1));
 5654   SDValue Vec = Op.getOperand(0);
 5655   SDValue SubVec = Op.getOperand(1);
 5656   SDValue Idx = Op.getOperand(2);
 5869       ISD::isBuildVectorAllOnes(V.getOperand(1).getNode()))
 5870     return V.getOperand(0);
 5872       (isNullConstant(V.getOperand(1)) || V.getOperand(0).hasOneUse())) {
 5872       (isNullConstant(V.getOperand(1)) || V.getOperand(0).hasOneUse())) {
 5873     if (SDValue Not = IsNOT(V.getOperand(0), DAG)) {
 5874       Not = DAG.getBitcast(V.getOperand(0).getValueType(), Not);
 5876                          Not, V.getOperand(1));
 6072       const SDValue &Src = Op.getOperand(i);
 6089       const SDValue &Src = Op.getOperand(i);
 6124     if (auto *Broadcast = getTargetConstantFromNode(Op.getOperand(0))) {
 6173     if (getTargetConstantBitsFromNode(Op.getOperand(0), EltSizeInBits,
 6185       Op.getOperand(0).getOpcode() == ISD::SCALAR_TO_VECTOR &&
 6186       isa<ConstantSDNode>(Op.getOperand(0).getOperand(0))) {
 6186       isa<ConstantSDNode>(Op.getOperand(0).getOperand(0))) {
 6192     auto *CN = cast<ConstantSDNode>(Op.getOperand(0).getOperand(0));
 6192     auto *CN = cast<ConstantSDNode>(Op.getOperand(0).getOperand(0));
 6200       isa<ConstantSDNode>(Op.getOperand(2))) {
 6207     if (getTargetConstantBitsFromNode(Op.getOperand(1), EltSizeInBits,
 6210         getTargetConstantBitsFromNode(Op.getOperand(0), EltSizeInBits,
 6223       isa<ConstantSDNode>(Op.getOperand(1))) {
 6228     if (getTargetConstantBitsFromNode(Op.getOperand(0), EltSizeInBits,
 6231       EVT SrcVT = Op.getOperand(0).getValueType();
 6258         !getTargetConstantBitsFromNode(Op.getOperand(0), EltSizeInBits,
 6263         !getTargetConstantBitsFromNode(Op.getOperand(1), EltSizeInBits,
 6555         N0.getOperand(0).getValueType() == VT &&
 6557       Ops.push_back(N0.getOperand(0));
 6791       else if (Idx == 0 && X86::isZeroNode(V.getOperand(0)))
 6875       Ops.push_back(N.getOperand(0));
 6876       Ops.push_back(N.getOperand(1));
 6886     SDValue N0 = N.getOperand(0);
 6887     SDValue N1 = N.getOperand(1);
 6909         DAG.computeKnownBits(N.getOperand(0), DemandedElts, Depth + 1);
 6911         DAG.computeKnownBits(N.getOperand(1), DemandedElts, Depth + 1);
 6936         Ops.push_back(N.getOperand(0));
 6937         Ops.push_back(N.getOperand(1));
 6944     SDValue N0 = peekThroughOneUseBitcasts(N.getOperand(0));
 6945     SDValue N1 = peekThroughOneUseBitcasts(N.getOperand(1));
 6976     SDValue Src = N.getOperand(0);
 6977     SDValue Sub = N.getOperand(1);
 6980     if (!isa<ConstantSDNode>(N.getOperand(2)) ||
 6986         Sub.getOperand(0).getValueType() == VT &&
 6987         isa<ConstantSDNode>(Sub.getOperand(1))) {
 6994       Ops.push_back(Sub.getOperand(0));
 7042     SDValue N0 = N.getOperand(0);
 7046          N0.getOperand(0).getValueType() == VT) ||
 7048          N0.getOperand(0).getValueType() == MVT::v8i16) ||
 7050          N0.getOperand(0).getValueType() == MVT::v16i8)) {
 7054     if (!SrcExtract || !isa<ConstantSDNode>(SrcExtract.getOperand(1)))
 7057     SDValue SrcVec = SrcExtract.getOperand(0);
 7074     SDValue InVec = N.getOperand(0);
 7075     SDValue InScl = N.getOperand(1);
 7076     SDValue InIndex = N.getOperand(2);
 7097     SDValue ExVec = InScl.getOperand(0);
 7098     SDValue ExIndex = InScl.getOperand(1);
 7112     SDValue N0 = N.getOperand(0);
 7113     SDValue N1 = N.getOperand(1);
 7163     Ops.push_back(N.getOperand(0));
 7180     SDValue Src = N.getOperand(0);
 7203     SDValue Src = N.getOperand(0);
 7391     V = V.getOperand(0);
 7400     return (Index == 0) ? V.getOperand(0)
 7404     return V.getOperand(Index);
 7438         V = DAG.getAnyExtOrTrunc(Op.getOperand(i), dl, MVT::i32);
 7444     V = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, VT, V, Op.getOperand(i),
 7478         Elt = DAG.getZExtOrTrunc(Op.getOperand(i), dl, MVT::i32);
 7480         Elt = DAG.getAnyExtOrTrunc(Op.getOperand(i), dl, MVT::i32);
 7484       SDValue NextElt = Op.getOperand(i + 1);
 7537       Op.getOperand(0) == Op.getOperand(2) &&
 7537       Op.getOperand(0) == Op.getOperand(2) &&
 7538       Op.getOperand(1) == Op.getOperand(3) &&
 7538       Op.getOperand(1) == Op.getOperand(3) &&
 7539       Op.getOperand(0) != Op.getOperand(1)) {
 7539       Op.getOperand(0) != Op.getOperand(1)) {
 7545     SDValue Ops[4] = { Op.getOperand(0), Op.getOperand(1),
 7545     SDValue Ops[4] = { Op.getOperand(0), Op.getOperand(1),
 7555     SDValue Elt = Op.getOperand(i);
 7569     SDValue Elt = Op.getOperand(i);
 7571         !isa<ConstantSDNode>(Elt.getOperand(1)))
 7574     MVT VT = Elt.getOperand(0).getSimpleValueType();
 7584   SDValue V1 = FirstNonZero.getOperand(0);
 7601     if (Elt.getOperand(0) != V1 || EltMaskIdx != EltIdx)
 7620   SDValue V2 = Elt.getOperand(0);
 7689                isa<FrameIndexSDNode>(Ptr.getOperand(0))) {
 7690       FI = cast<FrameIndexSDNode>(Ptr.getOperand(0))->getIndex();
 7692       Ptr = Ptr.getOperand(0);
 7757     return findEltLoadSrc(Elt.getOperand(0), Ld, ByteOffset);
 7759     if (isa<ConstantSDNode>(Elt.getOperand(1))) {
 7761       if ((Idx % 8) == 0 && findEltLoadSrc(Elt.getOperand(0), Ld, ByteOffset)) {
 7768     if (isa<ConstantSDNode>(Elt.getOperand(1))) {
 7769       SDValue Src = Elt.getOperand(0);
 8186          Ld.getOperand(0).getOpcode() == ISD::BITCAST)) {
 8188         BOperand = ZeroExtended.getOperand(0);
 8190         BOperand = Ld.getOperand(0).getOperand(0);
 8190         BOperand = Ld.getOperand(0).getOperand(0);
 8426     unsigned Opc = Op.getOperand(i).getOpcode();
 8440     SDValue ExtractedFromVec = Op.getOperand(i).getOperand(0);
 8440     SDValue ExtractedFromVec = Op.getOperand(i).getOperand(0);
 8441     SDValue ExtIdx = Op.getOperand(i).getOperand(1);
 8441     SDValue ExtIdx = Op.getOperand(i).getOperand(1);
 8475     NV = DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, VT, NV, Op.getOperand(Idx),
 8487     SDValue In = Op.getOperand(idx);
 8514     SDValue In = Op.getOperand(idx);
 8525     else if (In != Op.getOperand(SplatIdx))
 8535     SDValue Cond = Op.getOperand(SplatIdx);
 8568                          Op.getOperand(InsertIdx),
 8629     SDValue Op0 = Op.getOperand(0);
 8630     SDValue Op1 = Op.getOperand(1);
 8636         Op0.getOperand(0) == Op1.getOperand(0) &&
 8636         Op0.getOperand(0) == Op1.getOperand(0) &&
 8637         isa<ConstantSDNode>(Op0.getOperand(1)) &&
 8638         isa<ConstantSDNode>(Op1.getOperand(1)));
 8642     unsigned I0 = cast<ConstantSDNode>(Op0.getOperand(1))->getZExtValue();
 8643     unsigned I1 = cast<ConstantSDNode>(Op1.getOperand(1))->getZExtValue();
 8647         V0 = Op0.getOperand(0);
 8653         V1 = Op0.getOperand(0);
 8663       CanFold = I1 == I0 + 1 && Op0.getOperand(0) == Expected;
 8667       CanFold = I0 == I1 + 1 && Op1.getOperand(0) == Expected;
 8782     SDValue Op0 = Op.getOperand(0);
 8783     SDValue Op1 = Op.getOperand(1);
 8790         !isa<ConstantSDNode>(Op0.getOperand(1)) ||
 8791         !isa<ConstantSDNode>(Op1.getOperand(1)) ||
 8792         Op0.getOperand(1) != Op1.getOperand(1))
 8792         Op0.getOperand(1) != Op1.getOperand(1))
 8795     unsigned I0 = cast<ConstantSDNode>(Op0.getOperand(1))->getZExtValue();
 8807       InVec0 = Op0.getOperand(0);
 8812       InVec1 = Op1.getOperand(0);
 8819     if (InVec0 != Op0.getOperand(0)) {
 8826       if (InVec0 != Op0.getOperand(0))
 8830     if (InVec1 != Op1.getOperand(0))
 8896   Opnd1 = Opnd0.getOperand(1);
 8897   Opnd0 = Opnd0.getOperand(0);
 8979       SDValue Op0 = Op.getOperand(0);
 8980       SDValue Op1 = Op.getOperand(1);
 8983           Op0.getOperand(0) != Op1.getOperand(0) ||
 8983           Op0.getOperand(0) != Op1.getOperand(0) ||
 8984           !isa<ConstantSDNode>(Op0.getOperand(1)) ||
 8985           !isa<ConstantSDNode>(Op1.getOperand(1)) || !Op.hasOneUse())
 8992           V0 = Op0.getOperand(0);
 8995           V1 = Op0.getOperand(0);
 8999       if (SourceVec != Op0.getOperand(0))
 9224     SDValue LHS = Elt.getOperand(0);
 9225     SDValue RHS = Elt.getOperand(1);
 9545     SDValue Op = V.getOperand(Idx);
 9553       SrcVec = Op.getOperand(0);
 9554     else if (SrcVec != Op.getOperand(0))
 9560       ExtractedIndex = ExtractedIndex.getOperand(0);
 9568       IndicesVec = ExtractedIndex.getOperand(0);
 9569     else if (IndicesVec != ExtractedIndex.getOperand(0))
 9572     auto *PermIdx = dyn_cast<ConstantSDNode>(ExtractedIndex.getOperand(1));
 9616     SDValue Elt = Op.getOperand(i);
 9655       SDValue Elt = Op.getOperand(i);
 9700     SDValue Item = Op.getOperand(Idx);
 9733         X86::isZeroNode(Op.getOperand(0)) &&
 9734         !X86::isZeroNode(Op.getOperand(1))) {
 9738                                    VT, Op.getOperand(1)),
 9764       SDValue Item = Op.getOperand(Idx);
 9791     SDValue Ops[4] = { Op.getOperand(0), Op.getOperand(1),
 9791     SDValue Ops[4] = { Op.getOperand(0), Op.getOperand(1),
 9796         if (Ops[i % 2] != Op.getOperand(i))
 9834                                Op.getOperand(Idx));
 9864         Ops[i] = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Op.getOperand(i));
 9905     if (!Op.getOperand(0).isUndef())
 9906       Result = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Op.getOperand(0));
 9911       if (Op.getOperand(i).isUndef()) continue;
 9913                            Op.getOperand(i), DAG.getIntPtrConstant(i, dl));
 9923     if (!Op.getOperand(i).isUndef())
 9924       Ops[i] = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Op.getOperand(i));
 9964     SDValue SubVec = Op.getOperand(i);
 9991   MVT SubVT = Op.getOperand(0).getSimpleValueType();
 9998                       Op.getOperand(i),
10022     SDValue SubVec = Op.getOperand(i);
10043     SDValue SubVec = Op.getOperand(Idx);
10060     SDValue SubVec = Op.getOperand(Idx);
10082                             DAG.getUNDEF(ResVT), Op.getOperand(0),
10084   return DAG.getNode(ISD::INSERT_SUBVECTOR, dl, ResVT, Vec, Op.getOperand(1),
10336     SDValue CondElt = Cond.getOperand(i);
10468       SDValue Op = V.getOperand(M / Scale);
10493         SDValue Op = V.getOperand((M * Scale) + j);
10798   if (V1.getOperand(0).getOpcode() != ISD::TRUNCATE)
10801   SDValue Src = V1.getOperand(0).getOperand(0);
10801   SDValue Src = V1.getOperand(0).getOperand(0);
12241     SDValue S = V.getOperand(Idx);
12395   SDValue Scalar = V0.getOperand(V0BroadcastIdx);
12446       N0.getOperand(0) != N1.getOperand(0))
12446       N0.getOperand(0) != N1.getOperand(0))
12449   SDValue WideVec = N0.getOperand(0);
12451   if (!WideVT.is256BitVector() || !isa<ConstantSDNode>(N0.getOperand(1)) ||
12452       !isa<ConstantSDNode>(N1.getOperand(1)))
12530       V = V.getOperand(0);
12534       int OpBitWidth = V.getOperand(0).getValueSizeInBits();
12536       V = V.getOperand(OpIdx);
12541       SDValue VOuter = V.getOperand(0), VInner = V.getOperand(1);
12541       SDValue VOuter = V.getOperand(0), VInner = V.getOperand(1);
12542       auto ConstantIdx = dyn_cast<ConstantSDNode>(V.getOperand(2));
12584     V = V.getOperand(BroadcastIdx);
17046   SDValue V1 = Op.getOperand(0);
17047   SDValue V2 = Op.getOperand(1);
17181   SDValue Cond = Op.getOperand(0);
17182   SDValue LHS = Op.getOperand(1);
17183   SDValue RHS = Op.getOperand(2);
17196   SDValue Cond = Op.getOperand(0);
17197   SDValue LHS = Op.getOperand(1);
17198   SDValue RHS = Op.getOperand(2);
17285   if (!Op.getOperand(0).getSimpleValueType().is128BitVector())
17290                                   Op.getOperand(0), Op.getOperand(1));
17290                                   Op.getOperand(0), Op.getOperand(1));
17304          isNullConstant(Op.getOperand(1))) &&
17309                                   DAG.getBitcast(MVT::v4i32, Op.getOperand(0)),
17310                                   Op.getOperand(1));
17316     if (isa<ConstantSDNode>(Op.getOperand(1)))
17327   SDValue Vec = Op.getOperand(0);
17330   SDValue Idx = Op.getOperand(1);
17375   SDValue Vec = Op.getOperand(0);
17377   SDValue Idx = Op.getOperand(1);
17450                                   Op.getOperand(0), Op.getOperand(1));
17450                                   Op.getOperand(0), Op.getOperand(1));
17521   SDValue Vec = Op.getOperand(0);
17522   SDValue Elt = Op.getOperand(1);
17523   SDValue Idx = Op.getOperand(2);
17542                      Op.getOperand(2));
17555   SDValue N0 = Op.getOperand(0);
17556   SDValue N1 = Op.getOperand(1);
17557   SDValue N2 = Op.getOperand(2);
17687   if (X86::isZeroNode(Op.getOperand(0)))
17698     Op = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT128, Op.getOperand(0));
17710   SDValue AnyExt = DAG.getNode(ISD::ANY_EXTEND, dl, MVT::i32, Op.getOperand(0));
17731   SDValue Vec = Op.getOperand(0);
17732   SDValue Idx = Op.getOperand(1);
18235   SDValue ShOpLo = Op.getOperand(0);
18236   SDValue ShOpHi = Op.getOperand(1);
18237   SDValue ShAmt  = Op.getOperand(2);
18283   SDValue Op0 = Op.getOperand(0);
18284   SDValue Op1 = Op.getOperand(1);
18285   SDValue Amt = Op.getOperand(2);
18332   SDValue Src = Op.getOperand(0);
18383   SDValue Extract = Cast.getOperand(0);
18386       !isa<ConstantSDNode>(Extract.getOperand(1)))
18390   SDValue VecOp = Extract.getOperand(0);
18401   if (!isNullConstant(Extract.getOperand(1))) {
18420   SDValue Src = Op.getOperand(0);
18453   SDValue ValueToStore = Op.getOperand(0);
18495     StackSlot = StackSlot.getOperand(1);
18577                             Op.getOperand(0));
18615                              Op.getOperand(0));
18649   SDValue N0 = Op.getOperand(0);
18775   SDValue N0 = Op.getOperand(0);
18793   SDValue N0 = Op.getOperand(0);
18835     SDValue Store1 = DAG.getStore(DAG.getEntryNode(), dl, Op.getOperand(0),
18844   SDValue ValueToStore = Op.getOperand(0);
18872       Op.getOperand(0), DAG.getConstant(0, dl, MVT::i64), ISD::SETLT);
18909   EVT TheVT = Op.getOperand(0).getValueType();
18942   SDValue Value = Op.getOperand(0);
19031   SDValue In = Op.getOperand(0);
19169   SDValue In = Op.getOperand(0);
19294   SDValue In = Op.getOperand(0);
19368   SDValue In = Op.getOperand(0);
19517   SDValue Src = Op.getOperand(0);
19610   SDValue In = Op.getOperand(0);
19627   SDValue In = Op.getOperand(0);
19647   assert(Op.getOperand(0).getValueType() != MVT::f128 &&
19657   SDValue LHS = Op.getOperand(0);
19658   SDValue RHS = Op.getOperand(1);
19672       LHS.getOperand(0) != RHS.getOperand(0) ||
19672       LHS.getOperand(0) != RHS.getOperand(0) ||
19673       !isa<ConstantSDNode>(LHS.getOperand(1)) ||
19674       !isa<ConstantSDNode>(RHS.getOperand(1)) ||
19698   SDValue X = LHS.getOperand(0);
19782   SDValue Op0 = Op.getOperand(0);
19787   SDValue Operand = IsFNABS ? Op0.getOperand(0) : Op0;
19801   SDValue Mag = Op.getOperand(0);
19802   SDValue Sign = Op.getOperand(1);
19868   SDValue N0 = Op.getOperand(0);
19904   Opnds.push_back(Op.getOperand(0));
19905   Opnds.push_back(Op.getOperand(1));
19911       Opnds.push_back(I->getOperand(0));
19912       Opnds.push_back(I->getOperand(1));
19923     SDValue Idx = I->getOperand(1);
19927     SDValue Src = I->getOperand(0);
20162           SDValue In = Op0.getOperand(0);
20168           SDValue In = Op1.getOperand(0);
20194       !Cmp.getOperand(0).getValueType().isFloatingPoint() ||
20195       !Cmp.getOperand(1).getValueType().isFloatingPoint())
20367   SDValue Op0 = And.getOperand(0);
20368   SDValue Op1 = And.getOperand(1);
20370     Op0 = Op0.getOperand(0);
20372     Op1 = Op1.getOperand(0);
20378     if (isOneConstant(Op0.getOperand(0))) {
20389       BitNo = Op0.getOperand(1);
20397       Src = AndLHS.getOperand(0);
20398       BitNo = AndLHS.getOperand(1);
20497   SDValue CC = Op.getOperand(2);
20500   SDValue LHS = Op.getOperand(0);
20505   SDValue RHS = Op.getOperand(1);
20519   SDValue Op0 = Op.getOperand(0);
20520   SDValue Op1 = Op.getOperand(1);
20521   SDValue CC = Op.getOperand(2);
20628   SDValue Op0 = Op.getOperand(0);
20629   SDValue Op1 = Op.getOperand(1);
20630   SDValue CC = Op.getOperand(2);
20633   bool isFP = Op.getOperand(1).getSimpleValueType().isFloatingPoint();
20747       if (getTargetConstantBitsFromNode(BC0.getOperand(1),
20752           Op1 = DAG.getBitcast(VT, BC0.getOperand(1));
20760       Op0.getOperand(1) == Op1 && Op0.hasOneUse()) {
20766       SDValue Result = Op0.getOperand(0);
20955   Op0 = Op0.getOperand(0);
20980     SDValue LHS = Op0.getOperand(0);
20981     SDValue RHS = Op0.getOperand(1);
20990     LHS = Op0.getOperand(0);
20991     RHS = Op0.getOperand(1);
21035       X86CC = Op0.getOperand(0);
21042       return Op0.getOperand(1);
21064   SDValue Op0 = Op.getOperand(0);
21065   SDValue Op1 = Op.getOperand(1);
21067   ISD::CondCode CC = cast<CondCodeSDNode>(Op.getOperand(2))->get();
21091   SDValue LHS = Op.getOperand(0);
21092   SDValue RHS = Op.getOperand(1);
21093   SDValue Carry = Op.getOperand(2);
21094   SDValue Cond = Op.getOperand(3);
21119   SDValue LHS = Op.getOperand(0);
21120   SDValue RHS = Op.getOperand(1);
21195   SDValue VOp0 = V.getOperand(0);
21203   SDValue Cond  = Op.getOperand(0);
21204   SDValue Op1 = Op.getOperand(1);
21205   SDValue Op2 = Op.getOperand(2);
21216       VT == Cond.getOperand(0).getSimpleValueType() && Cond->hasOneUse()) {
21217     SDValue CondOp0 = Cond.getOperand(0), CondOp1 = Cond.getOperand(1);
21217     SDValue CondOp0 = Cond.getOperand(0), CondOp1 = Cond.getOperand(1);
21219         cast<CondCodeSDNode>(Cond.getOperand(2))->get(), CondOp0, CondOp1);
21290     else if (Op1.getOpcode() == ISD::BITCAST && Op1.getOperand(0))
21291       Op1Scalar = Op1.getOperand(0);
21295     else if (Op2.getOpcode() == ISD::BITCAST && Op2.getOperand(0))
21296       Op2Scalar = Op2.getOperand(0);
21314       Op1 = Op.getOperand(1);
21315       Op2 = Op.getOperand(2);
21326       Cond.getOperand(1).getOpcode() == X86ISD::CMP &&
21327       isNullConstant(Cond.getOperand(1).getOperand(1))) {
21327       isNullConstant(Cond.getOperand(1).getOperand(1))) {
21328     SDValue Cmp = Cond.getOperand(1);
21334       SDValue CmpOp0 = Cmp.getOperand(0);
21364                Cmp.getOperand(0).getOpcode() == ISD::AND &&
21365                isOneConstant(Cmp.getOperand(0).getOperand(1))) {
21365                isOneConstant(Cmp.getOperand(0).getOperand(1))) {
21366       SDValue CmpOp0 = Cmp.getOperand(0);
21373             (Op2.getOperand(0) == Op1 || Op2.getOperand(1) == Op1)) {
21373             (Op2.getOperand(0) == Op1 || Op2.getOperand(1) == Op1)) {
21375               Op2.getOperand(0) == Op1 ? Op2.getOperand(1) : Op2.getOperand(0);
21375               Op2.getOperand(0) == Op1 ? Op2.getOperand(1) : Op2.getOperand(0);
21375               Op2.getOperand(0) == Op1 ? Op2.getOperand(1) : Op2.getOperand(0);
21391               DAG.getNode(ISD::ANY_EXTEND, DL, VT, CmpOp0.getOperand(0)),
21405       Cond.getOperand(0).getOpcode() == X86ISD::SETCC_CARRY &&
21406       isOneConstant(Cond.getOperand(1)))
21407     Cond = Cond.getOperand(0);
21414     CC = Cond.getOperand(0);
21416     SDValue Cmp = Cond.getOperand(1);
21441       Cond = Cond.getOperand(0);
21486     SDValue T1 = Op1.getOperand(0), T2 = Op2.getOperand(0);
21486     SDValue T1 = Op1.getOperand(0), T2 = Op2.getOperand(0);
21948   return (Op.getOperand(0).getOpcode() == X86ISD::SETCC &&
21949           Op.getOperand(0).hasOneUse() &&
21950           Op.getOperand(1).getOpcode() == X86ISD::SETCC &&
21951           Op.getOperand(1).hasOneUse());
21959   if (isOneConstant(Op.getOperand(1)))
21960     return Op.getOperand(0).getOpcode() == X86ISD::SETCC &&
21961            Op.getOperand(0).hasOneUse();
21967   SDValue Chain = Op.getOperand(0);
21968   SDValue Cond  = Op.getOperand(1);
21969   SDValue Dest  = Op.getOperand(2);
21976     if (cast<CondCodeSDNode>(Cond.getOperand(2))->get() == ISD::SETEQ &&
21977         isNullConstant(Cond.getOperand(1)) &&
21978         Cond.getOperand(0).getResNo() == 1 &&
21979         (Cond.getOperand(0).getOpcode() == ISD::SADDO ||
21980          Cond.getOperand(0).getOpcode() == ISD::UADDO ||
21981          Cond.getOperand(0).getOpcode() == ISD::SSUBO ||
21982          Cond.getOperand(0).getOpcode() == ISD::USUBO ||
21983          Cond.getOperand(0).getOpcode() == ISD::SMULO ||
21984          Cond.getOperand(0).getOpcode() == ISD::UMULO)) {
21986       Cond = Cond.getOperand(0);
22003       Cond.getOperand(0).getOpcode() == X86ISD::SETCC_CARRY &&
22004       isOneConstant(Cond.getOperand(1)))
22005     Cond = Cond.getOperand(0);
22012     CC = Cond.getOperand(0);
22014     SDValue Cmp = Cond.getOperand(1);
22027         Cond = Cond.getOperand(1);
22049       SDValue Cmp = Cond.getOperand(0).getOperand(1);
22049       SDValue Cmp = Cond.getOperand(0).getOperand(1);
22054         if (Cmp == Cond.getOperand(1).getOperand(1) &&
22054         if (Cmp == Cond.getOperand(1).getOperand(1) &&
22056           CC = Cond.getOperand(0).getOperand(0);
22056           CC = Cond.getOperand(0).getOperand(0);
22059           CC = Cond.getOperand(1).getOperand(0);
22059           CC = Cond.getOperand(1).getOperand(0);
22069         if (Cmp == Cond.getOperand(1).getOperand(1) &&
22069         if (Cmp == Cond.getOperand(1).getOperand(1) &&
22073               (X86::CondCode)Cond.getOperand(0).getConstantOperandVal(0);
22091                 (X86::CondCode)Cond.getOperand(1).getConstantOperandVal(0);
22104         (X86::CondCode)Cond.getOperand(0).getConstantOperandVal(0);
22107       Cond = Cond.getOperand(0).getOperand(1);
22107       Cond = Cond.getOperand(0).getOperand(1);
22110                cast<CondCodeSDNode>(Cond.getOperand(2))->get() == ISD::SETOEQ) {
22130                                     Cond.getOperand(0), Cond.getOperand(1));
22130                                     Cond.getOperand(0), Cond.getOperand(1));
22141                cast<CondCodeSDNode>(Cond.getOperand(2))->get() == ISD::SETUNE) {
22146                                 Cond.getOperand(0), Cond.getOperand(1));
22146                                 Cond.getOperand(0), Cond.getOperand(1));
22160         Cond = Cond.getOperand(0);
22202   SDValue Chain = Op.getOperand(0);
22203   SDValue Size  = Op.getOperand(1);
22280   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
22288     return DAG.getStore(Op.getOperand(0), DL, FR, Op.getOperand(1),
22288     return DAG.getStore(Op.getOperand(0), DL, FR, Op.getOperand(1),
22298   SDValue FIN = Op.getOperand(1);
22301       Op.getOperand(0), DL,
22309       Op.getOperand(0), DL,
22318       DAG.getStore(Op.getOperand(0), DL, OVFIN, FIN, MachinePointerInfo(SV, 8));
22326       Op.getOperand(0), DL, RSFIN, FIN,
22342   SDValue Chain = Op.getOperand(0);
22343   SDValue SrcPtr = Op.getOperand(1);
22344   const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
22401   SDValue Chain = Op.getOperand(0);
22402   SDValue DstPtr = Op.getOperand(1);
22403   SDValue SrcPtr = Op.getOperand(2);
22404   const Value *DstSV = cast<SrcValueSDNode>(Op.getOperand(3))->getValue();
22405   const Value *SrcSV = cast<SrcValueSDNode>(Op.getOperand(4))->getValue();
22545            ShAmt.getOperand(0).getOpcode() == ISD::EXTRACT_VECTOR_ELT &&
22546            (ShAmt.getOperand(0).getSimpleValueType() == MVT::i16 ||
22547             ShAmt.getOperand(0).getSimpleValueType() == MVT::i8)) {
22548     ShAmt = ShAmt.getOperand(0);
22788         SDValue Rnd = Op.getOperand(2);
22792                              Op.getOperand(1),
22797       return DAG.getNode(IntrData->Opc0, dl, Op.getValueType(), Op.getOperand(1));
22800       SDValue Sae = Op.getOperand(2);
22810       return DAG.getNode(Opc, dl, Op.getValueType(), Op.getOperand(1));
22813       SDValue Src2 = Op.getOperand(2);
22820         SDValue Rnd = Op.getOperand(3);
22824                              Op.getOperand(1), Src2,
22831                          Op.getOperand(1), Src2);
22834       SDValue Sae = Op.getOperand(3);
22844       return DAG.getNode(Opc, dl, Op.getValueType(), Op.getOperand(1),
22845                          Op.getOperand(2));
22849       SDValue Src1 = Op.getOperand(1);
22850       SDValue Src2 = Op.getOperand(2);
22851       SDValue Src3 = Op.getOperand(3);
22858         SDValue Rnd = Op.getOperand(4);
22872       return DAG.getNode(IntrData->Opc0, dl, Op.getValueType(), Op.getOperand(1),
22873         Op.getOperand(2), Op.getOperand(3), Op.getOperand(4));
22873         Op.getOperand(2), Op.getOperand(3), Op.getOperand(4));
22873         Op.getOperand(2), Op.getOperand(3), Op.getOperand(4));
22875       SDValue Src = Op.getOperand(1);
22876       SDValue PassThru = Op.getOperand(2);
22877       SDValue Mask = Op.getOperand(3);
22883         SDValue Rnd = Op.getOperand(4);
22897       SDValue Src = Op.getOperand(1);
22898       SDValue PassThru = Op.getOperand(2);
22899       SDValue Mask = Op.getOperand(3);
22900       SDValue Rnd = Op.getOperand(4);
22914       SDValue Src1 = Op.getOperand(1);
22915       SDValue Src2 = Op.getOperand(2);
22916       SDValue passThru = Op.getOperand(3);
22917       SDValue Mask = Op.getOperand(4);
22925           SDValue Rnd = Op.getOperand(5);
22942       SDValue RoundingMode = Op.getOperand(5);
22945         SDValue Sae = Op.getOperand(6);
22956       SDValue Src1 = Op.getOperand(1);
22957       SDValue Src2 = Op.getOperand(2);
22958       SDValue passThru = Op.getOperand(3);
22959       SDValue Mask = Op.getOperand(4);
22960       SDValue Rnd = Op.getOperand(5);
22975       SDValue Src1 = Op.getOperand(1);
22976       SDValue Src2 = Op.getOperand(2);
22977       SDValue passThru = Op.getOperand(3);
22978       SDValue Mask = Op.getOperand(4);
22979       SDValue Sae = Op.getOperand(5);
22992       SDValue Src1 = Op.getOperand(1);
22993       SDValue Src2 = Op.getOperand(2);
22994       SDValue PassThru = Op.getOperand(3);
22995       SDValue Mask = Op.getOperand(4);
22998         SDValue Rnd = Op.getOperand(5);
23011       SDValue Src1 = Op.getOperand(1);
23012       SDValue Src2 = Op.getOperand(2);
23013       SDValue PassThru = Op.getOperand(3);
23014       SDValue Mask = Op.getOperand(4);
23018         SDValue Sae = Op.getOperand(5);
23029       SDValue Src1 = Op.getOperand(1);
23030       SDValue Src2 = Op.getOperand(2);
23031       SDValue Src3 = Op.getOperand(3);
23032       SDValue PassThru = Op.getOperand(4);
23033       SDValue Mask = Op.getOperand(5);
23034       SDValue Sae = Op.getOperand(6);
23047       SDValue Src1 = Op.getOperand(1);
23048       SDValue Src2 = Op.getOperand(2);
23049       SDValue Src3 = Op.getOperand(3);
23050       SDValue PassThru = Op.getOperand(4);
23051       SDValue Mask = Op.getOperand(5);
23055         SDValue Sae = Op.getOperand(6);
23065       SDValue Src1 = Op.getOperand(1);
23066       SDValue Src2 = Op.getOperand(2);
23067       SDValue Src3 = Op.getOperand(3);
23076       SDValue Src1 = Op.getOperand(1);
23077       SDValue Src2 = Op.getOperand(2);
23086                          Op.getOperand(2), Op.getOperand(3), Op.getOperand(1));
23086                          Op.getOperand(2), Op.getOperand(3), Op.getOperand(1));
23086                          Op.getOperand(2), Op.getOperand(3), Op.getOperand(1));
23088       SDValue Src1 = Op.getOperand(1);
23089       SDValue Imm = Op.getOperand(2);
23090       SDValue Mask = Op.getOperand(3);
23104       SDValue CC = Op.getOperand(3);
23109         SDValue Sae = Op.getOperand(4);
23111           return DAG.getNode(IntrData->Opc1, dl, MaskVT, Op.getOperand(1),
23112                              Op.getOperand(2), CC, Sae);
23117       return DAG.getNode(IntrData->Opc0, dl, MaskVT, Op.getOperand(1),
23118                           Op.getOperand(2), CC);
23121       SDValue Src1 = Op.getOperand(1);
23122       SDValue Src2 = Op.getOperand(2);
23123       SDValue CC = Op.getOperand(3);
23124       SDValue Mask = Op.getOperand(4);
23128         SDValue Sae = Op.getOperand(5);
23149       SDValue LHS = Op.getOperand(1);
23150       SDValue RHS = Op.getOperand(2);
23186       SDValue LHS = Op.getOperand(1);
23187       SDValue RHS = Op.getOperand(2);
23189       SDValue Sae = Op.getOperand(4);
23210                                  Op.getOperand(1), Op.getOperand(2), Subtarget,
23210                                  Op.getOperand(1), Op.getOperand(2), Subtarget,
23213       SDValue Mask = Op.getOperand(3);
23214       SDValue DataToCompress = Op.getOperand(1);
23215       SDValue PassThru = Op.getOperand(2);
23217         return Op.getOperand(1);
23228       SDValue Src1 = Op.getOperand(1);
23229       SDValue Src2 = Op.getOperand(2);
23230       SDValue Src3 = Op.getOperand(3);
23231       SDValue Imm = Op.getOperand(4);
23232       SDValue Mask = Op.getOperand(5);
23239         SDValue Sae = Op.getOperand(6);
23257       auto Round = cast<ConstantSDNode>(Op.getOperand(2));
23261                          Op.getOperand(1), RoundingMode);
23267       auto Round = cast<ConstantSDNode>(Op.getOperand(3));
23271                          Op.getOperand(1), Op.getOperand(2), RoundingMode);
23271                          Op.getOperand(1), Op.getOperand(2), RoundingMode);
23281                          Op.getOperand(1), Control);
23286       SDVTList VTs = DAG.getVTList(Op.getOperand(2).getValueType(), MVT::i32);
23291       if (isNullConstant(Op.getOperand(1))) {
23292         Res = DAG.getNode(IntrData->Opc1, dl, VTs, Op.getOperand(2),
23293                           Op.getOperand(3));
23295         SDValue GenCF = DAG.getNode(X86ISD::ADD, dl, CFVTs, Op.getOperand(1),
23297         Res = DAG.getNode(IntrData->Opc0, dl, VTs, Op.getOperand(2),
23298                           Op.getOperand(3), GenCF.getValue(1));
23308       SDValue Src = Op.getOperand(1);
23309       SDValue PassThru = Op.getOperand(2);
23310       SDValue Mask = Op.getOperand(3);
23322       SDValue Src = Op.getOperand(1);
23323       SDValue Rnd = Op.getOperand(2);
23324       SDValue PassThru = Op.getOperand(3);
23325       SDValue Mask = Op.getOperand(4);
23338       SDValue Src = Op.getOperand(1);
23339       SDValue PassThru = Op.getOperand(2);
23340       SDValue Mask = Op.getOperand(3);
23443     SDValue LHS = Op.getOperand(1);
23444     SDValue RHS = Op.getOperand(2);
23552     SDValue Op1 = Op.getOperand(1);
23564     SDValue FnOp = Op.getOperand(1);
23565     SDValue IncomingFPOp = Op.getOperand(2);
23622     SDValue ShAmt = Op.getOperand(2);
23627                          Op.getOperand(0), Op.getOperand(1), ShAmt);
23627                          Op.getOperand(0), Op.getOperand(1), ShAmt);
23665                        Op.getOperand(1), ShAmt);
23883   SDValue Chain = Op.getOperand(0);
23884   SDValue RegNode = Op.getOperand(2);
23901   SDValue Chain = Op.getOperand(0);
23902   SDValue EHGuard = Op.getOperand(2);
23958       return DAG.getNode(X86ISD::RDPKRU, dl, VTs, Op.getOperand(0),
23966                          Op.getOperand(0), Op.getOperand(2),
23966                          Op.getOperand(0), Op.getOperand(2),
24015       SDValue Chain = Op.getOperand(0);
24027       SDValue Operation = DAG.getNode(Opcode, dl, VTs, Chain, Op.getOperand(2),
24028                                       Op.getOperand(3));
24044     SDValue Result = DAG.getNode(IntrData->Opc0, dl, VTs, Op.getOperand(0));
24059     SDValue Chain = Op.getOperand(0);
24060     SDValue Src   = Op.getOperand(2);
24061     SDValue Base  = Op.getOperand(3);
24062     SDValue Index = Op.getOperand(4);
24063     SDValue Mask  = Op.getOperand(5);
24064     SDValue Scale = Op.getOperand(6);
24070     SDValue Chain = Op.getOperand(0);
24071     SDValue Src   = Op.getOperand(2);
24072     SDValue Base  = Op.getOperand(3);
24073     SDValue Index = Op.getOperand(4);
24074     SDValue Mask  = Op.getOperand(5);
24075     SDValue Scale = Op.getOperand(6);
24081     SDValue Chain = Op.getOperand(0);
24082     SDValue Base  = Op.getOperand(2);
24083     SDValue Mask  = Op.getOperand(3);
24084     SDValue Index = Op.getOperand(4);
24085     SDValue Src   = Op.getOperand(5);
24086     SDValue Scale = Op.getOperand(6);
24095     SDValue Chain = Op.getOperand(0);
24096     SDValue Mask  = Op.getOperand(2);
24097     SDValue Index = Op.getOperand(3);
24098     SDValue Base  = Op.getOperand(4);
24099     SDValue Scale = Op.getOperand(5);
24126     SDValue InTrans = DAG.getNode(IntrData->Opc0, dl, VTs, Op.getOperand(0));
24136     SDValue Mask = Op.getOperand(4);
24137     SDValue DataToTruncate = Op.getOperand(3);
24138     SDValue Addr = Op.getOperand(2);
24139     SDValue Chain = Op.getOperand(0);
24309   SDValue Chain     = Op.getOperand(0);
24310   SDValue Offset    = Op.getOperand(1);
24311   SDValue Handler   = Op.getOperand(2);
24349                      Op.getOperand(0), Op.getOperand(1));
24349                      Op.getOperand(0), Op.getOperand(1));
24356                      Op.getOperand(0), Op.getOperand(1));
24356                      Op.getOperand(0), Op.getOperand(1));
24363                      Op.getOperand(0));
24367   return Op.getOperand(0);
24372   SDValue Root = Op.getOperand(0);
24373   SDValue Trmp = Op.getOperand(1); // trampoline
24374   SDValue FPtr = Op.getOperand(2); // nested function
24375   SDValue Nest = Op.getOperand(3); // 'nest' parameter value
24378   const Value *TrmpAddr = cast<SrcValueSDNode>(Op.getOperand(4))->getValue();
24435       cast<Function>(cast<SrcValueSDNode>(Op.getOperand(5))->getValue());
24592   SDValue Src = Op.getOperand(0);
24650   Op = DAG.getNode(ISD::ZERO_EXTEND, dl, NewVT, Op.getOperand(0));
24683   SDValue Op0 = DAG.getBitcast(CurrVT, Op.getOperand(0));
24774   Op = Op.getOperand(0);
24806   SDValue N0 = Op.getOperand(0);
24835   SDValue LHS = Op.getOperand(0);
24840   SDValue RHS = Op.getOperand(1);
24864   SDValue LHS = Op.getOperand(0);
24869   SDValue RHS = Op.getOperand(1);
24889                        Op.getOperand(0), Op.getOperand(1));
24889                        Op.getOperand(0), Op.getOperand(1));
24900   SDValue X = Op.getOperand(0), Y = Op.getOperand(1);
24900   SDValue X = Op.getOperand(0), Y = Op.getOperand(1);
24952     SDValue N0 = Op.getOperand(0);
24963     SDValue Src = Op.getOperand(0);
24988   SDValue N0 = Op.getOperand(0);
24989   SDValue N1 = Op.getOperand(1);
25024     return DAG.getNode(ISD::AND, dl, VT, Op.getOperand(0), Op.getOperand(1));
25024     return DAG.getNode(ISD::AND, dl, VT, Op.getOperand(0), Op.getOperand(1));
25030   SDValue A = Op.getOperand(0);
25031   SDValue B = Op.getOperand(1);
25064           LoOps.push_back(DAG.getAnyExtOrTrunc(B.getOperand(i + j), dl,
25066           HiOps.push_back(DAG.getAnyExtOrTrunc(B.getOperand(i + j + 8), dl,
25169   SDValue A = Op.getOperand(0);
25170   SDValue B = Op.getOperand(1);
25336         SDValue LoOp = B.getOperand(i + j);
25337         SDValue HiOp = B.getOperand(i + j + 8);
25490   SDValue R = Op.getOperand(0);
25491   SDValue Amt = Op.getOperand(1);
25614   SDValue R = Op.getOperand(0);
25615   SDValue Amt = Op.getOperand(1);
25679       Amt.getOperand(0).getOpcode() == ISD::BUILD_VECTOR) {
25680     Amt = Amt.getOperand(0);
25684       Vals[i] = Amt.getOperand(i);
25687         if (Vals[j] != Amt.getOperand(i + j))
25692       return DAG.getNode(X86OpcV, dl, VT, R, Op.getOperand(1));
25765   SDValue R = Op.getOperand(0);
25766   SDValue Amt = Op.getOperand(1);
26026         LoAmt.push_back(Amt.getOperand(i + j));
26027         HiAmt.push_back(Amt.getOperand(i + j + 8));
26248   SDValue R = Op.getOperand(0);
26249   SDValue Amt = Op.getOperand(1);
26679       return DAG.getNode(X86ISD::MFENCE, dl, MVT::Other, Op.getOperand(0));
26681     SDValue Chain = Op.getOperand(0);
26686   return DAG.getNode(X86ISD::MEMBARRIER, dl, MVT::Other, Op.getOperand(0));
26705   SDValue cpIn = DAG.getCopyToReg(Op.getOperand(0), DL, Reg,
26706                                   Op.getOperand(2), SDValue());
26708                     Op.getOperand(1),
26709                     Op.getOperand(3),
26758   SDValue Src = Op.getOperand(0);
26782     std::tie(Lo, Hi) = DAG.SplitVector(Op.getOperand(0), dl);
26955   SDValue Op0 = Op.getOperand(0);
27002   SDValue In = Op.getOperand(0);
27054   SDValue In = Op.getOperand(0);
27262   SDValue Carry = Op.getOperand(2);
27269   SDValue Sum = DAG.getNode(Opc, DL, VTs, Op.getOperand(0),
27270                             Op.getOperand(1), Carry.getValue(1));
27287   SDValue Arg = Op.getOperand(0);
27356     SDValue N1 = InOp.getOperand(1);
27359       InOp = InOp.getOperand(0);
27368       Ops.push_back(InOp.getOperand(i));
27370     EVT EltVT = InOp.getOperand(0).getValueType();
27620   Ops.push_back(Op.getOperand(0));
27641   Ops.push_back(Op.getOperand(0));
29090   if (isa<MaskedLoadSDNode>(ExtVal.getOperand(0)))
29093   EVT SrcVT = ExtVal.getOperand(0).getValueType();
31440   ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op.getOperand(1));
31477   SDValue NewOp = TLO.DAG.getNode(ISD::AND, DL, VT, Op.getOperand(0), NewC);
31503     unsigned NumLoBits = Op.getOperand(0).getValueType().getVectorNumElements();
31509     SDValue Src = Op.getOperand(0);
31521     if (auto *ShiftImm = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
31527       Known = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
31556       Known2 = DAG.computeKnownBits(Op.getOperand(0), DemandedLHS, Depth + 1);
31561       Known2 = DAG.computeKnownBits(Op.getOperand(1), DemandedRHS, Depth + 1);
31573     Known = DAG.computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
31574     Known2 = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
31583     Known = DAG.computeKnownBits(Op.getOperand(1), DemandedElts, Depth + 1);
31584     Known2 = DAG.computeKnownBits(Op.getOperand(0), DemandedElts, Depth + 1);
31594            Op.getOperand(0).getValueType().getScalarType() == MVT::i8 &&
31602     Known = DAG.computeKnownBits(Op.getOperand(1), Depth + 1);
31606     KnownBits Known2 = DAG.computeKnownBits(Op.getOperand(0), Depth + 1);
31680     SDValue Src = Op.getOperand(0);
31695     unsigned SrcBits = Op.getOperand(0).getScalarValueSizeInBits();
31698       Tmp0 = DAG.ComputeNumSignBits(Op.getOperand(0), DemandedLHS, Depth + 1);
31700       Tmp1 = DAG.ComputeNumSignBits(Op.getOperand(1), DemandedRHS, Depth + 1);
31708     SDValue Src = Op.getOperand(0);
31719     SDValue Src = Op.getOperand(0);
31738         DAG.ComputeNumSignBits(Op.getOperand(0), DemandedElts, Depth + 1);
31741         DAG.ComputeNumSignBits(Op.getOperand(1), DemandedElts, Depth + 1);
31746     unsigned Tmp0 = DAG.ComputeNumSignBits(Op.getOperand(0), Depth+1);
31748     unsigned Tmp1 = DAG.ComputeNumSignBits(Op.getOperand(1), Depth+1);
32344           Src.getOperand(0).isUndef() &&
32345           Src.getOperand(1).getValueSizeInBits() == BaseMaskEltSizeInBits &&
32346           MayFoldLoad(Src.getOperand(1)) && isNullConstant(Src.getOperand(2))) {
32346           MayFoldLoad(Src.getOperand(1)) && isNullConstant(Src.getOperand(2))) {
32349                                                   Src.getOperand(1)));
32443             MayFoldLoad(V1.getOperand(0))) {
32446           Res = V1.getOperand(0);
32833            isa<ConstantSDNode>(Src.getOperand(1))) {
32835       Src = Src.getOperand(0);
33309   SDValue V = N.getOperand(0);
33310   for (; V.hasOneUse(); V = V.getOperand(0)) {
33355       if (V.getOperand(0) != V.getOperand(1) ||
33355       if (V.getOperand(0) != V.getOperand(1) ||
33356           !V->isOnlyUserOf(V.getOperand(0).getNode()))
33359       V = V.getOperand(0);
33374           V = V.getOperand(0);
33393   V = DAG.getNode(V.getOpcode(), DL, V.getValueType(), V.getOperand(0),
33400     if (V.getValueType() != W.getOperand(0).getValueType())
33401       V = DAG.getBitcast(W.getOperand(0).getValueType(), V);
33415       V = DAG.getNode(W.getOpcode(), DL, W.getValueType(), V, W.getOperand(1));
33440     auto BC0 = peekThroughBitcasts(N.getOperand(0));
33441     auto BC1 = peekThroughBitcasts(N.getOperand(1));
33452         Lo = BC1.getOperand(0);
33453         Hi = BC0.getOperand(1);
33455         Lo = BC0.getOperand(Opcode == X86ISD::UNPCKH ? 1 : 0);
33456         Hi = BC1.getOperand(Opcode == X86ISD::UNPCKH ? 1 : 0);
33465     SDValue Src = N.getOperand(0);
33502       return DAG.getNode(X86ISD::VBROADCAST, DL, VT, Src.getOperand(0));
33539     SDValue N0 = N.getOperand(0);
33540     SDValue N1 = N.getOperand(1);
33545         N0.getOperand(0).getValueType() == N1.getOperand(0).getValueType()) {
33545         N0.getOperand(0).getValueType() == N1.getOperand(0).getValueType()) {
33546       MVT SrcVT = N0.getOperand(0).getSimpleValueType();
33554             VT, DAG.getNode(X86ISD::BLENDI, DL, SrcVT, N0.getOperand(0),
33555                             N1.getOperand(0),
33564     SDValue N0 = N.getOperand(0);
33565     SDValue N1 = N.getOperand(1);
33568         N0.getOperand(0).getScalarValueSizeInBits() == EltSizeInBits) {
33569       SDValue Src = N0.getOperand(0);
33584     SDValue N0 = N.getOperand(0);
33585     SDValue N1 = N.getOperand(1);
33593       SDValue N10 = N1.getOperand(0);
33594       SDValue N11 = N1.getOperand(1);
33613     SDValue Op0 = N.getOperand(0);
33614     SDValue Op1 = N.getOperand(1);
33615     SDValue Op2 = N.getOperand(2);
33723     return N.getOperand(0);
33726   SDValue V = N.getOperand(0);
33757       SDValue D = peekThroughOneUseBitcasts(V.getOperand(0));
33775           V = DAG.getBitcast(VT, D.getOperand(0));
33917       FMAdd.getOperand(0) != FMSub.getOperand(0) || !FMAdd.hasOneUse() ||
33917       FMAdd.getOperand(0) != FMSub.getOperand(0) || !FMAdd.hasOneUse() ||
33918       FMAdd.getOperand(1) != FMSub.getOperand(1) || !FMSub.hasOneUse() ||
33918       FMAdd.getOperand(1) != FMSub.getOperand(1) || !FMSub.hasOneUse() ||
33919       FMAdd.getOperand(2) != FMSub.getOperand(2))
33919       FMAdd.getOperand(2) != FMSub.getOperand(2))
33932   return DAG.getNode(Opcode, DL, VT, FMAdd.getOperand(0), FMAdd.getOperand(1),
33932   return DAG.getNode(Opcode, DL, VT, FMAdd.getOperand(0), FMAdd.getOperand(1),
33933                      FMAdd.getOperand(2));
33997       N1.getNumOperands() != 2 || !N0.getOperand(1).isUndef() ||
33998       !N1.getOperand(1).isUndef())
34011   SDValue Concat = DAG.getNode(ISD::CONCAT_VECTORS, DL, VT, N0.getOperand(0),
34012                                N1.getOperand(0));
34030         SrcOp.getOperand(0).getValueType() == VT &&
34031         isNullConstant(SrcOp.getOperand(1)))
34044   if (!HOp.getOperand(0).isUndef() && !HOp.getOperand(1).isUndef() &&
34044   if (!HOp.getOperand(0).isUndef() && !HOp.getOperand(1).isUndef() &&
34045       HOp.getOperand(0) != HOp.getOperand(1))
34045       HOp.getOperand(0) != HOp.getOperand(1))
34054     if (HorizOp.getOperand(0).isUndef()) {
34055       assert(!HorizOp.getOperand(1).isUndef() && "Not expecting foldable h-op");
34056       X = HorizOp.getOperand(1);
34057     } else if (HorizOp.getOperand(1).isUndef()) {
34058       assert(!HorizOp.getOperand(0).isUndef() && "Not expecting foldable h-op");
34059       X = HorizOp.getOperand(0);
34196       (N->getOperand(0).getOperand(0).getValueType() == MVT::v4f32 ||
34197        N->getOperand(0).getOperand(0).getValueType() == MVT::v4i32)) {
34198     SDValue In = N->getOperand(0).getOperand(0);
34209       if (In.getOperand(0).getValueType() == MVT::v2f64 ||
34210           In.getOperand(0).getValueType() == MVT::v2i64)
34223       N->getOperand(0).getOperand(0).isUndef() &&
34224       isNullConstant(N->getOperand(0).getOperand(2))) {
34225     SDValue In = N->getOperand(0).getOperand(1);
34229                        Movl, N->getOperand(0).getOperand(2));
34267     SDValue LHS = Op.getOperand(0);
34268     SDValue RHS = Op.getOperand(1);
34283     SDValue Amt = Op.getOperand(1);
34307     SDValue Src = Op.getOperand(0);
34316     SDValue Src = Op.getOperand(0);
34317     auto *Amt = cast<ConstantSDNode>(Op.getOperand(1));
34340             Op, TLO.DAG.getNode(NewOpc, dl, VT, Src.getOperand(0), NewSA));
34355     SDValue Src = Op.getOperand(0);
34356     auto *Amt = cast<ConstantSDNode>(Op.getOperand(1));
34379             Op, TLO.DAG.getNode(NewOpc, dl, VT, Src.getOperand(0), NewSA));
34395     SDValue Src = Op.getOperand(0);
34406     SDValue N0 = Op.getOperand(0);
34407     SDValue N1 = Op.getOperand(1);
34446     if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedLHS, LHSUndef,
34450     if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedRHS, RHSUndef,
34458     SDValue Src = Op.getOperand(0);
34471     if (SimplifyDemandedVectorElts(Op.getOperand(0), DemandedElts, SelUndef,
34477     if (SimplifyDemandedVectorElts(Op.getOperand(1), DemandedElts, LHSUndef,
34482     if (SimplifyDemandedVectorElts(Op.getOperand(2), DemandedElts, RHSUndef,
34491     SDValue Src = Op.getOperand(0);
34510     SDValue Mask = Op.getOperand(0);
34520     SDValue Mask = Op.getOperand(1);
34529     SDValue Mask = Op.getOperand(2);
34555           extractSubVector(Op.getOperand(0), 0, TLO.DAG, DL, ExtSizeInBits);
34566       SDValue Src = Op.getOperand(0);
34591           extractSubVector(Op.getOperand(0), 0, TLO.DAG, DL, ExtSizeInBits);
34593           TLO.DAG.getNode(Opc, DL, Ext0.getValueType(), Ext0, Op.getOperand(1));
34607           SDValue Ext = extractSubVector(Op.getOperand(0), 2, TLO.DAG, DL, 128);
34632           extractSubVector(Op.getOperand(0), 0, TLO.DAG, DL, ExtSizeInBits);
34634           extractSubVector(Op.getOperand(1), 0, TLO.DAG, DL, ExtSizeInBits);
34719     SDValue LHS = Op.getOperand(0);
34720     SDValue RHS = Op.getOperand(1);
34744     SDValue Op0 = Op.getOperand(0);
34745     SDValue Op1 = Op.getOperand(1);
34759         if (auto *Shift2Imm = dyn_cast<ConstantSDNode>(Op0.getOperand(1))) {
34763               return TLO.CombineTo(Op, Op0.getOperand(0));
34767                 NewOpc, SDLoc(Op), VT, Op0.getOperand(0),
34788     if (auto *ShiftImm = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
34795       if (SimplifyDemandedBits(Op.getOperand(0), DemandedMask,
34809     SDValue Op0 = Op.getOperand(0);
34810     SDValue Op1 = Op.getOperand(1);
34824       if (Op0.getOpcode() == X86ISD::VSHLI && Op1 == Op0.getOperand(1)) {
34825         SDValue Op00 = Op0.getOperand(0);
34860     SDValue Vec = Op.getOperand(0);
34861     auto *CIdx = dyn_cast<ConstantSDNode>(Op.getOperand(1));
34889             Op, TLO.DAG.getNode(Opc, SDLoc(Op), VT, V, Op.getOperand(1)));
34898     SDValue Vec = Op.getOperand(0);
34899     SDValue Scl = Op.getOperand(1);
34900     auto *CIdx = dyn_cast<ConstantSDNode>(Op.getOperand(2));
34938       if (SimplifyDemandedBits(Op.getOperand(0), SignMask, DemandedLHS,
34941       if (SimplifyDemandedBits(Op.getOperand(1), SignMask, DemandedRHS,
34951         ISD::isBuildVectorAllZeros(Op.getOperand(0).getNode()))
34952       return TLO.CombineTo(Op, Op.getOperand(1));
34955     SDValue Src = Op.getOperand(0);
35003     SDValue Vec = Op.getOperand(0);
35004     auto *CIdx = dyn_cast<ConstantSDNode>(Op.getOperand(2));
35141     LdNode = LdNode.getOperand(0);
35181     return Src.getOperand(0).getValueSizeInBits() == Size;
35185     return checkBitcastSrcVectorSize(Src.getOperand(0), Size) &&
35186            checkBitcastSrcVectorSize(Src.getOperand(1), Size);
35202         signExtendBitcastSrcVector(DAG, SExtVT, Src.getOperand(0), DL),
35203         signExtendBitcastSrcVector(DAG, SExtVT, Src.getOperand(1), DL));
35226                      (Src.getOperand(0).getValueType() == MVT::v16i8 ||
35227                       Src.getOperand(0).getValueType() == MVT::v32i8 ||
35228                       Src.getOperand(0).getValueType() == MVT::v64i8);
35323     SDValue In = Op.getOperand(Idx);
35363   SDValue LHS = Op.getOperand(0);
35364   SDValue RHS = Op.getOperand(1);
35367       LHS.getOperand(0).getValueType() == DstVT)
35368     return DAG.getNode(Op.getOpcode(), SDLoc(N), DstVT, LHS.getOperand(0),
35372       RHS.getOperand(0).getValueType() == DstVT)
35374                        DAG.getBitcast(DstVT, LHS), RHS.getOperand(0));
35480         N0.getOperand(0).getValueType() == MVT::v4i32 &&
35481         ISD::isBuildVectorAllZeros(N0.getOperand(1).getNode()) &&
35482         cast<CondCodeSDNode>(N0.getOperand(2))->get() == ISD::SETLT) {
35483       SDValue N00 = N0.getOperand(0);
35487            N00.getOperand(0).getValueType() == MVT::v4f32)) {
35516         SDValue LastOp = N0.getOperand(N0.getNumOperands() - 1);
35544       N0.getOperand(0).getValueType() == MVT::v16i1 &&
35545       isNullConstant(N0.getOperand(1)))
35547                        DAG.getBitcast(MVT::i16, N0.getOperand(0)));
35586         N0.getOperand(0).getValueType() == SrcVT.getScalarType()) {
35589         SDValue Op = N0.getOperand(i);
35594         SDValue N00 = N0.getOperand(0);
35613         isNullConstant(N0.getOperand(1))) {
35614       SDValue N00 = N0.getOperand(0);
35670   SDValue LogicOp0 = N0.getOperand(0);
35671   SDValue LogicOp1 = N0.getOperand(1);
35676       LogicOp0.hasOneUse() && LogicOp0.getOperand(0).getValueType() == VT &&
35677       !isa<ConstantSDNode>(LogicOp0.getOperand(0))) {
35679     return DAG.getNode(FPOpcode, DL0, VT, LogicOp0.getOperand(0), CastedOp1);
35683       LogicOp1.hasOneUse() && LogicOp1.getOperand(0).getValueType() == VT &&
35684       !isa<ConstantSDNode>(LogicOp1.getOperand(0))) {
35686     return DAG.getNode(FPOpcode, DL0, VT, LogicOp1.getOperand(0), CastedOp0);
35700   Op0 = AbsOp1.getOperand(0);
35701   Op1 = AbsOp1.getOperand(1);
35705       Op0.getOperand(0).getValueType().getVectorElementType() != MVT::i8 ||
35707       Op1.getOperand(0).getValueType().getVectorElementType() != MVT::i8)
35719   EVT InVT = Zext0.getOperand(0).getValueType();
35726   Ops[0] = Zext0.getOperand(0);
35729   Ops[0] = Zext1.getOperand(0);
35990     Root = Root.getOperand(0);
36058     SDValue SrcOp = SrcBC.getOperand(0);
36085     Src = extract128BitVector(Src.getOperand(0), 0, DAG, dl);
36182     EVT OpVT = Vec.getOperand(0).getValueType().getScalarType();
36189                                Vec.getOperand(0), Index);
36191                                Vec.getOperand(1), Index);
36192     return DAG.getNode(Vec.getOpcode(), DL, VT, Ext0, Ext1, Vec.getOperand(2));
36205       Vec.getOperand(0).getOpcode() == ISD::SETCC &&
36206       Vec.getOperand(0).getValueType().getScalarType() == MVT::i1 &&
36207       Vec.getOperand(0).getOperand(0).getValueType() == VecVT) {
36207       Vec.getOperand(0).getOperand(0).getValueType() == VecVT) {
36211                                Vec.getOperand(0).getValueType().getScalarType(),
36212                                Vec.getOperand(0), Index);
36214                                Vec.getOperand(1), Index);
36216                                Vec.getOperand(2), Index);
36420         InputVector.getOperand(2) == EltIdx) {
36421       assert(SrcVT == InputVector.getOperand(0).getValueType() &&
36423       SDValue Scl = InputVector.getOperand(1);
36440     SDValue MMXSrc = InputVector.getOperand(0);
36450     SDValue MMXSrc = InputVector.getOperand(0);
36577       SDValue CC = Cond.getOperand(2);
36580                                Cond.getOperand(0).getValueType().isInteger());
36581       Cond = DAG.getSetCC(DL, CondVT, Cond.getOperand(0), Cond.getOperand(1),
36581       Cond = DAG.getSetCC(DL, CondVT, Cond.getOperand(0), Cond.getOperand(1),
36840     ISD::CondCode CC = cast<CondCodeSDNode>(Cond.getOperand(2))->get();
36844     if (DAG.isEqualTo(LHS, Cond.getOperand(0)) &&
36845         DAG.isEqualTo(RHS, Cond.getOperand(1))) {
36913     } else if (DAG.isEqualTo(LHS, Cond.getOperand(1)) &&
36914                DAG.isEqualTo(RHS, Cond.getOperand(0))) {
36991     ISD::CondCode CC = cast<CondCodeSDNode>(Cond.getOperand(2))->get();
36992     SDValue AndNode = Cond.getOperand(0);
36994         isNullConstant(Cond.getOperand(1)) &&
36995         isOneConstant(AndNode.getOperand(1))) {
37026              isTargetShuffle(Op.getOperand(0).getOpcode()) &&
37027              isNullConstant(Op.getOperand(1)) &&
37028              TLI.isTypeLegal(Op.getOperand(0).getValueType()) &&
37029              Op.hasOneUse() && Op.getOperand(0).hasOneUse();
37038       EVT SrcVT = SelectableLHS ? LHS.getOperand(0).getValueType()
37039                                 : RHS.getOperand(0).getValueType();
37074       DAG.isEqualTo(LHS, Cond.getOperand(0)) &&
37075       DAG.isEqualTo(RHS, Cond.getOperand(1))) {
37076     ISD::CondCode CC = cast<CondCodeSDNode>(Cond.getOperand(2))->get();
37083                           Cond.getOperand(0), Cond.getOperand(1), NewCC);
37083                           Cond.getOperand(0), Cond.getOperand(1), NewCC);
37096     ISD::CondCode CC = cast<CondCodeSDNode>(Cond.getOperand(2))->get();
37109         Other->getOperand(0) == Cond.getOperand(0)) {
37165     ISD::CondCode CC = cast<CondCodeSDNode>(Cond.getOperand(2))->get();
37181       SDValue OpLHS = Other.getOperand(0), OpRHS = Other.getOperand(1);
37181       SDValue OpLHS = Other.getOperand(0), OpRHS = Other.getOperand(1);
37273   SDValue CmpLHS = Cmp.getOperand(0);
37274   SDValue CmpRHS = Cmp.getOperand(1);
37283   SDValue OpRHS = CmpLHS.getOperand(2);
37306         /*Chain*/ CmpLHS.getOperand(0), /*LHS*/ CmpLHS.getOperand(1),
37306         /*Chain*/ CmpLHS.getOperand(0), /*LHS*/ CmpLHS.getOperand(1),
37366   SDValue Op1 = Cmp.getOperand(0);
37367   SDValue Op2 = Cmp.getOperand(1);
37395       if (isOneConstant(SetCC.getOperand(0)))
37397       if (isOneConstant(SetCC.getOperand(1)))
37401       SetCC = SetCC.getOperand(OpIdx);
37404       SetCC = SetCC.getOperand(0);
37423     return SetCC.getOperand(1);
37426     ConstantSDNode *FVal = dyn_cast<ConstantSDNode>(SetCC.getOperand(0));
37427     ConstantSDNode *TVal = dyn_cast<ConstantSDNode>(SetCC.getOperand(1));
37433       SDValue Op = SetCC.getOperand(0);
37437         Op = Op.getOperand(0);
37461     return SetCC.getOperand(3);
37515     if (isAllOnesConstant(EFLAGS.getOperand(1))) {
37516       SDValue Carry = EFLAGS.getOperand(0);
37522               isOneConstant(Carry.getOperand(1))))
37523         Carry = Carry.getOperand(0);
37528         SDValue CarryOp1 = Carry.getOperand(1);
37541               !isa<ConstantSDNode>(CarryOp1.getOperand(1))) {
37544                             CarryOp1.getOperand(1), CarryOp1.getOperand(0));
37544                             CarryOp1.getOperand(1), CarryOp1.getOperand(0));
37552             isOneConstant(CarryOp1.getOperand(1)))
37705         (CmpAgainst = dyn_cast<ConstantSDNode>(Cond.getOperand(1))) &&
37706         !isa<ConstantSDNode>(Cond.getOperand(0))) {
37716         SDValue Ops[] = {FalseOp, Cond.getOperand(0),
37766       Cond.getOpcode() == X86ISD::CMP && isNullConstant(Cond.getOperand(1))) {
37775     if (Const == Cond.getOperand(0))
37776       Const = Cond.getOperand(1);
37780         Add.hasOneUse() && isa<ConstantSDNode>(Add.getOperand(1)) &&
37781         (Add.getOperand(0).getOpcode() == ISD::CTTZ_ZERO_UNDEF ||
37782          Add.getOperand(0).getOpcode() == ISD::CTTZ) &&
37783         Add.getOperand(0).getOperand(0) == Cond.getOperand(0)) {
37783         Add.getOperand(0).getOperand(0) == Cond.getOperand(0)) {
37783         Add.getOperand(0).getOperand(0) == Cond.getOperand(0)) {
37786       SDValue Diff = DAG.getNode(ISD::SUB, DL, VT, Const, Add.getOperand(1));
37788           DAG.getNode(X86ISD::CMOV, DL, VT, Diff, Add.getOperand(0),
37790       return DAG.getNode(ISD::ADD, DL, VT, CMov, Add.getOperand(1));
38045        N0.getOperand(0).getScalarValueSizeInBits() <= 8) &&
38047        N1.getOperand(0).getScalarValueSizeInBits() <= 8))
38262       N0.getOperand(1).getOpcode() == ISD::Constant) {
38263     SDValue N00 = N0.getOperand(0);
38281                N00.getOperand(0).getOpcode() == X86ISD::SETCC_CARRY) {
38285                N00.getOperand(0).getOpcode() == X86ISD::SETCC_CARRY) {
38286       MaskOK = Mask.isIntN(N00.getOperand(0).getValueSizeInBits());
38330       N0.getOperand(1).getOpcode() != ISD::Constant)
38333   SDValue N00 = N0.getOperand(0);
38334   SDValue N01 = N0.getOperand(1);
38383   auto *AndC = dyn_cast<ConstantSDNode>(N0.getOperand(1));
38407     SDValue NewShift = DAG.getNode(ISD::SRL, DL, VT, N0.getOperand(0), N1);
38490       N0.getOperand(0).getValueType() == MVT::v8i32) {
38495         return DAG.getNode(X86ISD::VTRUNC, SDLoc(N), VT, N0.getOperand(0));
38500                                    N0.getOperand(0), DAG.getUNDEF(MVT::v8i32));
38583     unsigned ShiftVal2 = cast<ConstantSDNode>(N0.getOperand(1))->getZExtValue();
38587     return DAG.getNode(X86ISD::VSRAI, SDLoc(N), VT, N0.getOperand(0),
38659     SDValue CMP0 = N0.getOperand(1);
38660     SDValue CMP1 = N1.getOperand(1);
38809   if (N0.getOperand(0).getValueType() != VT)
38814                   N1.getOperand(0).getValueType() == VT;
38825   N0 = N0.getOperand(0);
38827     N1 = N1.getOperand(0);
38859   SDValue N00 = N0.getOperand(0);
38860   SDValue N10 = N1.getOperand(0);
38929   SDValue ShiftedIndex = Base.getOperand(0);
38934   return ShiftedIndex.getOperand(0);
39064   SDValue X = N0.getOperand(0);
39126       !N->getOperand(0).getOperand(0).hasOneUse())
39130   SDValue Src = N->getOperand(0).getOperand(0);
39141   SDValue SubVec = Src.getOperand(0);
39150   EVT SetccVT = SubVec.getOperand(0).getValueType();
39249       isa<ConstantSDNode>(N->getOperand(0).getOperand(1))) {
39251     SDValue SrcVec = N->getOperand(0).getOperand(0);
39281                            N->getOperand(0).getOperand(1));
39307         !N0.getOperand(1).hasOneUse() || !N1.getOperand(1).hasOneUse()))
39307         !N0.getOperand(1).hasOneUse() || !N1.getOperand(1).hasOneUse()))
39313   if (!getTargetConstantBitsFromNode(N0.getOperand(1), 8, UndefElts0, EltBits0,
39316   if (!getTargetConstantBitsFromNode(N1.getOperand(1), 8, UndefElts1, EltBits1,
39331       DAG.getNode(X86ISD::ANDNP, DL, VT, DAG.getBitcast(VT, N0.getOperand(1)),
39332                   DAG.getBitcast(VT, N1.getOperand(0)));
39352   Mask = N1.getOperand(0);
39353   X = N1.getOperand(1);
39356   if (N0.getOperand(0) == Mask)
39357     Y = N0.getOperand(1);
39358   else if (N0.getOperand(1) == Mask)
39359     Y = N0.getOperand(0);
39491   SDValue Cmp = Op.getOperand(1);
39492   EVT VT = Cmp.getOperand(0).getValueType();
39533            isNullConstant(N->getOperand(1).getOperand(1)) &&
39667   SDValue ShAmt0 = N0.getOperand(1);
39670   SDValue ShAmt1 = N1.getOperand(1);
39677       isa<ConstantSDNode>(ShAmt0.getOperand(1)) &&
39680     ShAmt0 = ShAmt0.getOperand(0);
39684       isa<ConstantSDNode>(ShAmt1.getOperand(1)) &&
39687     ShAmt1 = ShAmt1.getOperand(0);
39691     ShAmt0 = ShAmt0.getOperand(0);
39693     ShAmt1 = ShAmt1.getOperand(0);
39697   SDValue Op0 = N0.getOperand(0);
39698   SDValue Op1 = N1.getOperand(0);
39721     SDValue Sum = ShAmt1.getOperand(0);
39723       SDValue ShAmt1Op1 = ShAmt1.getOperand(1);
39725           isa<ConstantSDNode>(ShAmt1Op1.getOperand(1)) &&
39728         ShAmt1Op1 = ShAmt1Op1.getOperand(0);
39731         ShAmt1Op1 = ShAmt1Op1.getOperand(0);
39742     SDValue Mask = ShAmt1.getOperand(1);
39745       SDValue ShAmt1Op0 = ShAmt1.getOperand(0);
39747         ShAmt1Op0 = ShAmt1Op0.getOperand(0);
39751             isa<ConstantSDNode>(Op1.getOperand(1)) &&
39753           return GetFunnelShift(Op0, Op1.getOperand(0), ShAmt0);
39757             Op1.getOperand(0) == Op1.getOperand(1)) {
39757             Op1.getOperand(0) == Op1.getOperand(1)) {
39758           return GetFunnelShift(Op0, Op1.getOperand(0), ShAmt0);
39789   SDValue Shift = N0.getOperand(0);
39799   if (!isa<ConstantSDNode>(Shift.getOperand(1)) ||
39807   SDValue ShiftOp = Shift.getOperand(0);
39854       isConstOrConstSplat(Shift.getOperand(1), /*AllowUndefs*/ true);
39861   return DAG.getNode(X86ISD::PCMPGT, SDLoc(N), VT, Shift.getOperand(0), Ones);
39891         ISD::isConstantSplatVector(V.getOperand(1).getNode(), Limit))
39892       return V.getOperand(0);
39912         return DAG.getNode(ISD::SMAX, DL, InVT, SMin, In.getOperand(1));
39936         ISD::isConstantSplatVector(V.getOperand(1).getNode(), C) && C == Limit)
39937       return V.getOperand(0);
40119   auto LHS = In.getOperand(0);
40120   auto RHS = In.getOperand(1);
40128   Operands[0] = LHS.getOperand(0);
40129   Operands[1] = LHS.getOperand(1);
40140       Operands[0].getOperand(0).getValueType() == VT) {
40147                             { Operands[0].getOperand(0), Operands[1] },
40155       Op0 = V.getOperand(0);
40156       Op1 = V.getOperand(1);
40161     V = V.getOperand(0);
40163         !DAG.haveNoCommonBitsSet(V.getOperand(0), V.getOperand(1)))
40163         !DAG.haveNoCommonBitsSet(V.getOperand(0), V.getOperand(1)))
40165     Op0 = V.getOperand(0);
40166     Op1 = V.getOperand(1);
40189             Operands[j].getOperand(0).getValueType() != VT)
40191         Operands[j] = Operands[j].getOperand(0);
40478       TLI.isTruncStoreLegal(Value.getOperand(0).getValueType(),
40480     return DAG.getMaskedStore(Mst->getChain(), SDLoc(N), Value.getOperand(0),
40515       StoredVal.getOperand(0).getValueType() == MVT::i8) {
40516     return DAG.getStore(St->getChain(), dl, StoredVal.getOperand(0),
40605       St->getValue().getOperand(0).getValueType() == MVT::v16i16 &&
40617       TLI.isTruncStoreLegal(StoredVal.getOperand(0).getValueType(), VT)) {
40620                            dl, StoredVal.getOperand(0), St->getBasePtr(),
40735     SDValue ExtOp0 = OldExtract.getOperand(0);
40740                                      BitCast, OldExtract.getOperand(1));
40787       if (!Op.getOperand(0).isUndef())
40788         N0 = Op.getOperand(0);
40789       if (!Op.getOperand(1).isUndef())
40790         N1 = Op.getOperand(1);
40797         Op.getOperand(0).getValueType().is256BitVector() &&
40798         llvm::isNullConstant(Op.getOperand(1))) {
40799       Op = Op.getOperand(0);
40955         Op.getOperand(0).getScalarValueSizeInBits() <= TruncSizeInBits)
40988     SDValue Op0 = Src.getOperand(0);
40989     SDValue Op1 = Src.getOperand(1);
41002       return TruncateArithmetic(Src.getOperand(0), Src.getOperand(1));
41002       return TruncateArithmetic(Src.getOperand(0), Src.getOperand(1));
41005     SDValue Op0 = Src.getOperand(0);
41006     SDValue Op1 = Src.getOperand(1);
41015     SDValue Op0 = Src.getOperand(0);
41016     SDValue Op1 = Src.getOperand(1);
41173       Src.getOperand(0).getOpcode() != ISD::MUL)
41191   if (!ISD::isConstantSplatVector(Src.getOperand(1).getNode(), ShiftAmt) ||
41195   SDValue LHS = Src.getOperand(0).getOperand(0);
41195   SDValue LHS = Src.getOperand(0).getOperand(0);
41196   SDValue RHS = Src.getOperand(0).getOperand(1);
41196   SDValue RHS = Src.getOperand(0).getOperand(1);
41204   LHS = LHS.getOperand(0);
41205   RHS = RHS.getOperand(0);
41240   SDValue N0 = SSatVal.getOperand(0);
41241   SDValue N1 = SSatVal.getOperand(1);
41246   SDValue N00 = N0.getOperand(0);
41247   SDValue N01 = N0.getOperand(1);
41248   SDValue N10 = N1.getOperand(0);
41249   SDValue N11 = N1.getOperand(1);
41266   N00 = N00.getOperand(0);
41267   N01 = N01.getOperand(0);
41268   N10 = N10.getOperand(0);
41269   N11 = N11.getOperand(0);
41295     SDValue N00Elt = N00.getOperand(i);
41296     SDValue N01Elt = N01.getOperand(i);
41297     SDValue N10Elt = N10.getOperand(i);
41298     SDValue N11Elt = N11.getOperand(i);
41305     auto *ConstN00Elt = dyn_cast<ConstantSDNode>(N00Elt.getOperand(1));
41306     auto *ConstN01Elt = dyn_cast<ConstantSDNode>(N01Elt.getOperand(1));
41307     auto *ConstN10Elt = dyn_cast<ConstantSDNode>(N10Elt.getOperand(1));
41308     auto *ConstN11Elt = dyn_cast<ConstantSDNode>(N11Elt.getOperand(1));
41324     SDValue N00In = N00Elt.getOperand(0);
41325     SDValue N01In = N01Elt.getOperand(0);
41326     SDValue N10In = N10Elt.getOperand(0);
41327     SDValue N11In = N11Elt.getOperand(0);
41383     SDValue BCSrc = Src.getOperand(0);
41448     SDValue InsVector = Op.getOperand(0);
41449     SDValue InsVal = Op.getOperand(1);
41455                            NegInsVal, Op.getOperand(2));
41462   SDValue Op1 = Op.getOperand(1);
41463   SDValue Op0 = Op.getOperand(0);
41562     SDValue NewNode = DAG.getNode(X86ISD::FNMSUB, DL, VT, Arg.getOperand(0),
41563                                   Arg.getOperand(1), Zero);
41621       char V = isNegatibleForFree(Op.getOperand(i), DAG, LegalOperations,
41662       char V = isNegatibleForFree(Op.getOperand(i), DAG, LegalOperations,
41665         NewOps[i] = getNegatedExpression(Op.getOperand(i), DAG, LegalOperations,
41677         NewOps[i] = Op.getOperand(i);
41831   if (N0.getOpcode() == X86ISD::FXOR && isAllOnesConstantFP(N0.getOperand(1)))
41832     return DAG.getNode(X86ISD::FANDN, DL, VT, N0.getOperand(0), N1);
41835   if (N1.getOpcode() == X86ISD::FXOR && isAllOnesConstantFP(N1.getOperand(1)))
41836     return DAG.getNode(X86ISD::FANDN, DL, VT, N1.getOperand(0), N0);
42115     N0 = N0.getOperand(0);
42122   SDValue CMovOp0 = N0.getOperand(0);
42123   SDValue CMovOp1 = N0.getOperand(1);
42151                              N0.getOperand(2), N0.getOperand(3));
42151                              N0.getOperand(2), N0.getOperand(3));
42179     SDValue N00 = N0.getOperand(0);
42228   auto *AddOp1 = dyn_cast<ConstantSDNode>(Add.getOperand(1));
42249   SDValue AddOp0 = Add.getOperand(0);
42283   SDValue CMovOp0 = CMovN.getOperand(0);
42284   SDValue CMovOp1 = CMovN.getOperand(1);
42309                             CMovN.getOperand(2), CMovN.getOperand(3));
42309                             CMovN.getOperand(2), CMovN.getOperand(3));
42348   SDValue N00 = N0.getOperand(0);
42349   EVT SclVT = N0.getOperand(0).getValueType();
42432   ISD::CondCode CC = cast<CondCodeSDNode>(N0.getOperand(2))->get();
42437   EVT N00VT = N0.getOperand(0).getValueType();
42442   SDValue Res = DAG.getSetCC(dl, VT, N0.getOperand(0), N0.getOperand(1), CC);
42442   SDValue Res = DAG.getSetCC(dl, VT, N0.getOperand(0), N0.getOperand(1), CC);
42468       isAllOnesConstant(N0.getOperand(1)) && N0.hasOneUse()) {
42473     SDValue Zext = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0));
42519         isNullConstant(V.getOperand(1))) {
42520       SDValue Vec = V.getOperand(0);
42525                         NegVal, V.getOperand(1));
42587       N0.getOperand(0).hasOneUse()) {
42588     SDValue N00 = N0.getOperand(0);
42590       if (!isOneConstant(N0.getOperand(1)))
42594                                      N00.getOperand(0), N00.getOperand(1)),
42594                                      N00.getOperand(0), N00.getOperand(1)),
42601       N0.getOperand(0).hasOneUse()) {
42602     SDValue N00 = N0.getOperand(0);
42606                                      N00.getOperand(0), N00.getOperand(1)),
42606                                      N00.getOperand(0), N00.getOperand(1)),
42633       VT.getScalarSizeInBits() == N0.getOperand(0).getScalarValueSizeInBits()) {
42634     SDValue N00 = N0.getOperand(0);
42635     SDValue N01 = N0.getOperand(1);
42668                           X.getOperand(0).getOpcode() == ISD::XOR &&
42669                           X.getOperand(1).getOpcode() == ISD::XOR;
42728         SDValue OrigX = X.getOperand(0);
42758       SDValue A = ScalarToVector(X.getOperand(0).getOperand(0));
42758       SDValue A = ScalarToVector(X.getOperand(0).getOperand(0));
42759       SDValue B = ScalarToVector(X.getOperand(0).getOperand(1));
42759       SDValue B = ScalarToVector(X.getOperand(0).getOperand(1));
42760       SDValue C = ScalarToVector(X.getOperand(1).getOperand(0));
42760       SDValue C = ScalarToVector(X.getOperand(1).getOperand(0));
42761       SDValue D = ScalarToVector(X.getOperand(1).getOperand(1));
42761       SDValue D = ScalarToVector(X.getOperand(1).getOperand(1));
42827     if (LHS.getOpcode() == ISD::SUB && isNullConstant(LHS.getOperand(0)) &&
42829       SDValue Add = DAG.getNode(ISD::ADD, DL, OpVT, RHS, LHS.getOperand(1));
42834     if (RHS.getOpcode() == ISD::SUB && isNullConstant(RHS.getOperand(0)) &&
42836       SDValue Add = DAG.getNode(ISD::ADD, DL, OpVT, LHS, RHS.getOperand(1));
42854         (LHS.getOperand(0).getValueType().getVectorElementType() == MVT::i1);
42858       assert(VT == LHS.getOperand(0).getValueType() &&
42865         return DAG.getNOT(DL, LHS.getOperand(0), VT);
42869       return LHS.getOperand(0);
42910       if (!Src.getOperand(Idx).isUndef() &&
42920       Src.getOperand(0).getScalarValueSizeInBits() == EltWidth)
42921     return DAG.getNode(X86ISD::MOVMSK, SDLoc(N), VT, Src.getOperand(0));
43007         Index.getOperand(0).getScalarValueSizeInBits() <= 32 &&
43124   if (auto *BV = dyn_cast<BuildVectorSDNode>(N->getOperand(0).getOperand(1))) {
43157   SDValue ExtElt = Trunc.getOperand(0);
43159       !isNullConstant(ExtElt.getOperand(1)))
43170   EVT SrcVecVT = ExtElt.getOperand(0).getValueType();
43174   SDValue BitcastVec = DAG.getBitcast(BitcastVT, ExtElt.getOperand(0));
43177                                   BitcastVec, ExtElt.getOperand(1));
43372       Op.hasOneUse() && isa<ConstantSDNode>(Op.getOperand(1)) &&
43382         Op = DAG.getNode(ISD::AND, dl, VT, Op.getOperand(0),
43394   Op = Op.getOperand(0);
43406     if (isa<ConstantSDNode>(Op.getOperand(1)))
43427   SDValue Op0 = DAG.getNode(ISD::TRUNCATE, dl, VT, Op.getOperand(0));
43428   SDValue Op1 = DAG.getNode(ISD::TRUNCATE, dl, VT, Op.getOperand(1));
43492     return DAG.getNode(X86ISD::SBB, SDLoc(N), N->getVTList(), Op0.getOperand(0),
43493                        Op0.getOperand(1), N->getOperand(2));
43549     Y = Y.getOperand(0);
43578                          Y.getOperand(1));
43586           !isa<ConstantSDNode>(EFLAGS.getOperand(1))) {
43592             EFLAGS.getOperand(1), EFLAGS.getOperand(0));
43592             EFLAGS.getOperand(1), EFLAGS.getOperand(0));
43606                        DAG.getConstant(0, DL, VT), Y.getOperand(1));
43619         !isa<ConstantSDNode>(EFLAGS.getOperand(1))) {
43622                                    EFLAGS.getOperand(1), EFLAGS.getOperand(0));
43622                                    EFLAGS.getOperand(1), EFLAGS.getOperand(0));
43633   SDValue Cmp = Y.getOperand(1);
43635       !X86::isZeroNode(Cmp.getOperand(1)) ||
43636       !Cmp.getOperand(0).getValueType().isInteger())
43639   SDValue Z = Cmp.getOperand(0);
43711             (Op->isOnlyUserOf(Op.getOperand(0).getNode()) &&
43712              Op->isOnlyUserOf(Op.getOperand(1).getNode())));
43934                           { Mul.getOperand(0), Mul.getOperand(1) },
43934                           { Mul.getOperand(0), Mul.getOperand(1) },
43955   SDValue N00 = N0.getOperand(0);
43956   SDValue N01 = N0.getOperand(1);
43957   SDValue N10 = N1.getOperand(0);
43958   SDValue N11 = N1.getOperand(1);
43969   N00 = N00.getOperand(0);
43970   N01 = N01.getOperand(0);
43971   N10 = N10.getOperand(0);
43972   N11 = N11.getOperand(0);
43995     SDValue N00Elt = N00.getOperand(i);
43996     SDValue N01Elt = N01.getOperand(i);
43997     SDValue N10Elt = N10.getOperand(i);
43998     SDValue N11Elt = N11.getOperand(i);
44005     auto *ConstN00Elt = dyn_cast<ConstantSDNode>(N00Elt.getOperand(1));
44006     auto *ConstN01Elt = dyn_cast<ConstantSDNode>(N01Elt.getOperand(1));
44007     auto *ConstN10Elt = dyn_cast<ConstantSDNode>(N10Elt.getOperand(1));
44008     auto *ConstN11Elt = dyn_cast<ConstantSDNode>(N11Elt.getOperand(1));
44024     SDValue N00In = N00Elt.getOperand(0);
44025     SDValue N01In = N01Elt.getOperand(0);
44026     SDValue N10In = N10Elt.getOperand(0);
44027     SDValue N11In = N11Elt.getOperand(0);
44099         Op0.getOperand(0).getValueType().getVectorElementType() == MVT::i1 &&
44100         TLI.isTypeLegal(Op0.getOperand(0).getValueType())) {
44102       SDValue SExt = DAG.getNode(ISD::SIGN_EXTEND, DL, VT, Op0.getOperand(0));
44107         Op1.getOperand(0).getValueType().getVectorElementType() == MVT::i1 &&
44108         TLI.isTypeLegal(Op1.getOperand(0).getValueType())) {
44110       SDValue SExt = DAG.getNode(ISD::SIGN_EXTEND, DL, VT, Op1.getOperand(0));
44141     SDValue MaxLHS = Op0.getOperand(0);
44142     SDValue MaxRHS = Op0.getOperand(1);
44151     SDValue MinLHS = Op1.getOperand(0);
44152     SDValue MinRHS = Op1.getOperand(1);
44218         isa<ConstantSDNode>(Op1.getOperand(1))) {
44222                                    Op1.getOperand(0),
44304       return DAG.getNode(Op0.getOpcode(), DL, VT, Op0.getOperand(0));
44308         (Subtarget.hasAVX2() || MayFoldLoad(Op0.getOperand(0))))
44311                                      Op0.getOperand(0),
44317          (VT.getScalarSizeInBits() >= 32 && MayFoldLoad(Op0.getOperand(0)))) &&
44318         Op0.getOperand(0).getValueType() == VT.getScalarType())
44319       return DAG.getNode(X86ISD::VBROADCAST, DL, VT, Op0.getOperand(0));
44336           Subtarget.hasInt256() && Op0.getOperand(1) == Ops[1].getOperand(1)) {
44336           Subtarget.hasInt256() && Op0.getOperand(1) == Ops[1].getOperand(1)) {
44339           Src.push_back(Ops[i].getOperand(0));
44342                            Op0.getOperand(1));
44348           Subtarget.hasAVX() && Op0.getOperand(1) == Ops[1].getOperand(1)) {
44348           Subtarget.hasAVX() && Op0.getOperand(1) == Ops[1].getOperand(1)) {
44351           Src.push_back(DAG.getBitcast(MVT::v4f32, Ops[i].getOperand(0)));
44354                           Op0.getOperand(1));
44362           LHS.push_back(Ops[i].getOperand(0));
44363           RHS.push_back(Ops[i].getOperand(1));
44365         MVT SrcVT = Op0.getOperand(0).getSimpleValueType();
44429         ISD::isBuildVectorAllZeros(SubVec.getOperand(0).getNode())) {
44433                          SubVec.getOperand(1),
44442         isNullConstant(SubVec.getOperand(1)) &&
44443         SubVec.getOperand(0).getOpcode() == ISD::INSERT_SUBVECTOR) {
44444       SDValue Ins = SubVec.getOperand(0);
44445       if (isNullConstant(Ins.getOperand(2)) &&
44446           ISD::isBuildVectorAllZeros(Ins.getOperand(0).getNode()) &&
44447           Ins.getOperand(1).getValueSizeInBits() <= SubVecVT.getSizeInBits())
44450                            Ins.getOperand(1), N->getOperand(2));
44461       SubVec.getOperand(0).getSimpleValueType() == OpVT &&
44475       return DAG.getVectorShuffle(OpVT, dl, Vec, SubVec.getOperand(0), Mask);
44500     return DAG.getNode(X86ISD::VBROADCAST, dl, OpVT, SubVec.getOperand(0));
44530       !collectConcatOps(Sel.getOperand(0).getNode(), CatOps))
44540   MVT SelCondVT = Sel.getOperand(0).getSimpleValueType();
44571   SDValue ExtCond = extract128BitVector(Sel.getOperand(0), ExtIdx, DAG, DL);
44572   SDValue ExtT = extract128BitVector(Sel.getOperand(1), ExtIdx, DAG, DL);
44573   SDValue ExtF = extract128BitVector(Sel.getOperand(2), ExtIdx, DAG, DL);
44611     if (isConcatenatedNot(InVecBC.getOperand(0)) ||
44612         isConcatenatedNot(InVecBC.getOperand(1))) {
44672       InVec.hasOneUse() && isNullConstant(InVec.getOperand(2)) &&
44673       ISD::isBuildVectorAllZeros(InVec.getOperand(0).getNode()) &&
44674       InVec.getOperand(1).getValueSizeInBits() <= VT.getSizeInBits()) {
44678                        InVec.getOperand(1), InVec.getOperand(2));
44678                        InVec.getOperand(1), InVec.getOperand(2));
44685       InVec.getOperand(0).getValueSizeInBits() <= VT.getSizeInBits())
44686     return DAG.getNode(X86ISD::VBROADCAST, SDLoc(N), VT, InVec.getOperand(0));
44709           InVec.getOperand(0).getValueType() == MVT::v4i32) {
44710         return DAG.getNode(X86ISD::CVTSI2P, SDLoc(N), VT, InVec.getOperand(0));
44714           InVec.getOperand(0).getValueType() == MVT::v4i32) {
44715         return DAG.getNode(X86ISD::CVTUI2P, SDLoc(N), VT, InVec.getOperand(0));
44719           InVec.getOperand(0).getValueType() == MVT::v4f32) {
44720         return DAG.getNode(X86ISD::VFPEXT, SDLoc(N), VT, InVec.getOperand(0));
44730         InVec.getOperand(0).getSimpleValueType().is128BitVector()) {
44732       return DAG.getNode(ExtOp, SDLoc(N), VT, InVec.getOperand(0));
44735         InVec.getOperand(0).getValueType().is256BitVector() &&
44736         InVec.getOperand(1).getValueType().is256BitVector() &&
44737         InVec.getOperand(2).getValueType().is256BitVector()) {
44739       SDValue Ext0 = extractSubVector(InVec.getOperand(0), 0, DAG, DL, 128);
44740       SDValue Ext1 = extractSubVector(InVec.getOperand(1), 0, DAG, DL, 128);
44741       SDValue Ext2 = extractSubVector(InVec.getOperand(2), 0, DAG, DL, 128);
44759     if (auto *C = dyn_cast<ConstantSDNode>(Src.getOperand(1)))
44762                            Src.getOperand(0));
44766       Src.hasOneUse() && Src.getOperand(0).getValueType().isVector() &&
44767       Src.getOperand(0).getValueType().getVectorElementType() == MVT::i1)
44768     if (auto *C = dyn_cast<ConstantSDNode>(Src.getOperand(1)))
44770         return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, Src.getOperand(0),
44771                            Src.getOperand(1));
44777       Src.getOperand(0).getScalarValueSizeInBits() <= 32)
44780                         DAG.getAnyExtOrTrunc(Src.getOperand(0), DL, MVT::i32)));
44817       LHS.getOperand(0).getValueType() == MVT::v4i32) {
44819     LHS = DAG.getVectorShuffle(MVT::v4i32, dl, LHS.getOperand(0),
44820                                LHS.getOperand(0), { 0, -1, 1, -1 });
44827       RHS.getOperand(0).getValueType() == MVT::v4i32) {
44829     RHS = DAG.getVectorShuffle(MVT::v4i32, dl, RHS.getOperand(0),
44830                                RHS.getOperand(0), { 0, -1, 1, -1 });
45104                              isa<ConstantSDNode>(Op.getOperand(1));
45147     SDValue N0 = Op.getOperand(0);
45161     SDValue N0 = Op.getOperand(0);
45162     SDValue N1 = Op.getOperand(1);
lib/Target/XCore/XCoreISelDAGToDAG.cpp
   96     if ((FIN = dyn_cast<FrameIndexSDNode>(Addr.getOperand(0)))
   97       && (CN = dyn_cast<ConstantSDNode>(Addr.getOperand(1)))
  127   OutOps.push_back(Op.getOperand(0));
lib/Target/XCore/XCoreISelLowering.cpp
  345   SDValue Chain = Op.getOperand(0);
  346   SDValue Table = Op.getOperand(1);
  347   SDValue Index = Op.getOperand(2);
  544   SDValue LHS = Op.getOperand(0);
  545   SDValue RHS = Op.getOperand(1);
  561   SDValue LHS = Op.getOperand(0);
  562   SDValue RHS = Op.getOperand(1);
  583   SDValue N0 = Op.getOperand(0);
  584   SDValue N1 = Op.getOperand(1);
  602     Mul0 = OtherOp.getOperand(0);
  603     Mul1 = OtherOp.getOperand(1);
  604     Addend0 = AddOp.getOperand(0);
  605     Addend1 = AddOp.getOperand(1);
  608   if (AddOp.getOperand(0).getOpcode() == ISD::MUL) {
  610     if (requireIntermediatesHaveOneUse && !AddOp.getOperand(0).hasOneUse())
  612     Mul0 = AddOp.getOperand(0).getOperand(0);
  612     Mul0 = AddOp.getOperand(0).getOperand(0);
  613     Mul1 = AddOp.getOperand(0).getOperand(1);
  613     Mul1 = AddOp.getOperand(0).getOperand(1);
  614     Addend0 = AddOp.getOperand(1);
  618   if (AddOp.getOperand(1).getOpcode() == ISD::MUL) {
  620     if (requireIntermediatesHaveOneUse && !AddOp.getOperand(1).hasOneUse())
  622     Mul0 = AddOp.getOperand(1).getOperand(0);
  622     Mul0 = AddOp.getOperand(1).getOperand(0);
  623     Mul1 = AddOp.getOperand(1).getOperand(1);
  623     Mul1 = AddOp.getOperand(1).getOperand(1);
  624     Addend0 = AddOp.getOperand(0);
  648                    Mul.getOperand(0), DAG.getConstant(0, dl, MVT::i32));
  650                    Mul.getOperand(1), DAG.getConstant(0, dl, MVT::i32));
  656   unsigned LHSSB = DAG.ComputeNumSignBits(Mul.getOperand(0));
  657   unsigned RHSSB = DAG.ComputeNumSignBits(Mul.getOperand(1));
  658   if (DAG.MaskedValueIsZero(Mul.getOperand(0), HighMask) &&
  659       DAG.MaskedValueIsZero(Mul.getOperand(1), HighMask)) {
  677                    Mul.getOperand(0), DAG.getConstant(1, dl, MVT::i32));
  679                    Mul.getOperand(1), DAG.getConstant(1, dl, MVT::i32));
  767   return DAG.getStore(Op.getOperand(0), dl, Addr, Op.getOperand(1),
  767   return DAG.getStore(Op.getOperand(0), dl, Addr, Op.getOperand(1),
  778   if (cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue() > 0)
  794   if (cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue() > 0)
  822   SDValue Chain     = Op.getOperand(0);
  823   SDValue Offset    = Op.getOperand(1);
  824   SDValue Handler   = Op.getOperand(2);
  856   return Op.getOperand(0);
  861   SDValue Chain = Op.getOperand(0);
  862   SDValue Trmp = Op.getOperand(1); // trampoline
  863   SDValue FPtr = Op.getOperand(2); // nested function
  864   SDValue Nest = Op.getOperand(3); // 'nest' parameter value
  866   const Value *TrmpAddr = cast<SrcValueSDNode>(Op.getOperand(4))->getValue();
  916   unsigned IntNo = cast<ConstantSDNode>(Op.getOperand(0))->getZExtValue();
  922                     Op.getOperand(1), Op.getOperand(2) , Op.getOperand(3));
  922                     Op.getOperand(1), Op.getOperand(2) , Op.getOperand(3));
  922                     Op.getOperand(1), Op.getOperand(2) , Op.getOperand(3));
  933   return DAG.getNode(XCoreISD::MEMBARRIER, DL, MVT::Other, Op.getOperand(0));
 1833       unsigned IntNo = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();