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

References

lib/Target/X86/X86ISelLowering.cpp
27836           DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, MVT::v2i64, N->getOperand(0));
27837       Wide = DAG.getNode(ISD::CTPOP, dl, MVT::v2i64, Wide);
27840       Wide = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Wide);
27841       Wide = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::i32, Wide,
27842                          DAG.getIntPtrConstant(0, dl));
27843       Wide = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i64, Wide);
27855     SDValue Op0 = DAG.getNode(ISD::ANY_EXTEND, dl, MulVT, N->getOperand(0));
27856     SDValue Op1 = DAG.getNode(ISD::ANY_EXTEND, dl, MulVT, N->getOperand(1));
27857     SDValue Res = DAG.getNode(ISD::MUL, dl, MulVT, Op0, Op1);
27858     Res = DAG.getNode(ISD::TRUNCATE, dl, VT, Res);
27862     Res = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v16i8, ConcatOps);
27889     SDValue InVec0 = DAG.getNode(ISD::CONCAT_VECTORS, dl, InWideVT, Ops);
27891     SDValue InVec1 = DAG.getNode(ISD::CONCAT_VECTORS, dl, InWideVT, Ops);
27893     SDValue Res = DAG.getNode(N->getOpcode(), dl, WideVT, InVec0, InVec1);
27905     Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, HalfT, N->getOperand(0),
27906                      DAG.getConstant(0, dl, HalfT));
27907     Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, HalfT, N->getOperand(0),
27908                      DAG.getConstant(1, dl, HalfT));
27910         ISD::SRA, dl, HalfT, Hi,
27911         DAG.getConstant(HalfT.getSizeInBits() - 1, dl,
27913     Lo = DAG.getNode(ISD::UADDO, dl, VTList, Tmp, Lo);
27914     Hi = DAG.getNode(ISD::ADDCARRY, dl, VTList, Tmp, Hi,
27916     Hi = DAG.getNode(ISD::XOR, dl, HalfT, Tmp, Hi);
27917     Lo = DAG.getNode(ISD::XOR, dl, HalfT, Tmp, Lo);
27930     SDValue LHS = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v4f32,
27932     SDValue RHS = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v4f32,
27934     Results.push_back(DAG.getNode(N->getOpcode(), dl, MVT::v4f32, LHS, RHS));
27954         SDValue N0 = DAG.getNode(ISD::CONCAT_VECTORS, dl, ResVT, Ops0);
27955         SDValue N1 = DAG.getConstant(SplatVal, dl, ResVT);
27956         SDValue Res = DAG.getNode(N->getOpcode(), dl, ResVT, N0, N1);
27995         SDValue Val = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, InEltVT, In,
27996                                   DAG.getIntPtrConstant(i, dl));
27997         Ops[i] = DAG.getNode(ISD::TRUNCATE, dl, EltVT, Val);
27999       Results.push_back(DAG.getBuildVector(WidenVT, dl, Ops));
28008         Results.push_back(DAG.getNode(X86ISD::VTRUNC, dl, WidenVT, In));
28013         In = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v8i64, In,
28015         Results.push_back(DAG.getNode(X86ISD::VTRUNC, dl, WidenVT, In));
28025       std::tie(Lo, Hi) = DAG.SplitVector(In, dl);
28027       Lo = DAG.getNode(X86ISD::VTRUNC, dl, MVT::v16i8, Lo);
28028       Hi = DAG.getNode(X86ISD::VTRUNC, dl, MVT::v16i8, Hi);
28029       SDValue Res = DAG.getVectorShuffle(MVT::v16i8, dl, Lo, Hi,
28058       In = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::v4i32, In);
28061       SDValue Zero = DAG.getConstant(0, dl, MVT::v4i32);
28062       SDValue SignBits = DAG.getSetCC(dl, MVT::v4i32, Zero, In, ISD::SETGT);
28066       SDValue Lo = DAG.getVectorShuffle(MVT::v4i32, dl, In, SignBits,
28068       Lo = DAG.getNode(ISD::BITCAST, dl, MVT::v2i64, Lo);
28069       SDValue Hi = DAG.getVectorShuffle(MVT::v4i32, dl, In, SignBits,
28071       Hi = DAG.getNode(ISD::BITCAST, dl, MVT::v2i64, Hi);
28073       SDValue Res = DAG.getNode(ISD::CONCAT_VECTORS, dl, VT, Lo, Hi);
28090         In = DAG.getNode(N->getOpcode(), dl, InVT, In);
28099       SDValue Lo = getExtendInVec(N->getOpcode(), dl, LoVT, In, DAG);
28108       SDValue Hi = DAG.getVectorShuffle(InVT, dl, In, In, ShufMask);
28109       Hi = getExtendInVec(N->getOpcode(), dl, HiVT, Hi, DAG);
28111       SDValue Res = DAG.getNode(ISD::CONCAT_VECTORS, dl, VT, Lo, Hi);
28131       SDValue Res = DAG.getNode(ISD::FP_TO_SINT, dl, PromoteVT, Src);
28138                           dl, PromoteVT, Res,
28142       Res = DAG.getNode(ISD::TRUNCATE, dl, VT, Res);
28150       Res = DAG.getNode(ISD::CONCAT_VECTORS, dl, ConcatVT, ConcatOps);
28171         SDValue Res = DAG.getNode(Opc, dl, MVT::v4i32, Src);
28193       SDValue ZeroIdx = DAG.getIntPtrConstant(0, dl);
28194       SDValue Res = DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, VecInVT,
28195                                 DAG.getConstantFP(0.0, dl, VecInVT), Src,
28198       Res = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, VT, Res, ZeroIdx);
28212     Results.push_back(DAG.getNode(X86ISD::CVTSI2P, dl, MVT::v4f32, Src));
28223       Results.push_back(DAG.getNode(X86ISD::CVTUI2P, dl, MVT::v4f32, Src));
28228     SDValue ZExtIn = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::v2i64, Src);
28230         DAG.getConstantFP(BitsToDouble(0x4330000000000000ULL), dl, MVT::v2f64);
28231     SDValue Or = DAG.getNode(ISD::OR, dl, MVT::v2i64, ZExtIn,
28235     SDValue Sub = DAG.getNode(ISD::FSUB, dl, MVT::v2f64, Or, VBias);
28236     Results.push_back(DAG.getNode(X86ISD::VFPROUND, dl, MVT::v4f32, Sub));
28242     SDValue V = DAG.getNode(X86ISD::VFPROUND, dl, MVT::v4f32, N->getOperand(0));
28259       return getReadTimeStampCounter(N, dl, X86::RDTSC, DAG, Subtarget,
28262       return getReadTimeStampCounter(N, dl, X86::RDTSCP, DAG, Subtarget,
28265       expandIntrinsicWChainHelper(N, dl, DAG, X86::RDPMC, X86::ECX, Subtarget,
28269       expandIntrinsicWChainHelper(N, dl, DAG, X86::XGETBV, X86::ECX, Subtarget,
28275     return getReadTimeStampCounter(N, dl, X86::RDTSC, DAG, Subtarget, Results);
28285     cpInL = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, HalfT, N->getOperand(2),
28286                         DAG.getConstant(0, dl, HalfT));
28287     cpInH = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, HalfT, N->getOperand(2),
28288                         DAG.getConstant(1, dl, HalfT));
28289     cpInL = DAG.getCopyToReg(N->getOperand(0), dl,
28292     cpInH = DAG.getCopyToReg(cpInL.getValue(0), dl,
28296     swapInL = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, HalfT, N->getOperand(3),
28297                           DAG.getConstant(0, dl, HalfT));
28298     swapInH = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, HalfT, N->getOperand(3),
28299                           DAG.getConstant(1, dl, HalfT));
28301         DAG.getCopyToReg(cpInH.getValue(0), dl, Regs64bit ? X86::RCX : X86::ECX,
28326       SDValue RBXSave = DAG.getCopyFromReg(swapInH.getValue(0), dl,
28332       Result = DAG.getMemIntrinsicNode(Opcode, dl, Tys, Ops, T, MMO);
28336       swapInL = DAG.getCopyToReg(swapInH.getValue(0), dl,
28341       Result = DAG.getMemIntrinsicNode(Opcode, dl, Tys, Ops, T, MMO);
28343     SDValue cpOutL = DAG.getCopyFromReg(Result.getValue(0), dl,
28346     SDValue cpOutH = DAG.getCopyFromReg(cpOutL.getValue(1), dl,
28351     SDValue EFLAGS = DAG.getCopyFromReg(cpOutH.getValue(1), dl, X86::EFLAGS,
28353     SDValue Success = getSETCC(X86::COND_E, EFLAGS, dl, DAG);
28354     Success = DAG.getZExtOrTrunc(Success, dl, N->getValueType(1));
28356     Results.push_back(DAG.getNode(ISD::BUILD_PAIR, dl, T, OpsF));
28373         SDValue Ld = DAG.getMemIntrinsicNode(X86ISD::VZEXT_LOAD, dl, Tys, Ops,
28375         SDValue Res = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::i64, Ld,
28376                                   DAG.getIntPtrConstant(0, dl));
28388                                                  dl, Tys, Ops, MVT::i64,
28402         Chain = DAG.getMemIntrinsicNode(X86ISD::FIST, dl,
28410         Result = DAG.getLoad(MVT::i64, dl, Chain, StackPtr, MPI);
28449       SDValue Res = DAG.getNode(ISD::BUILD_PAIR, dl, MVT::i64, Lo, Hi);
28462       SDValue Res = DAG.getNode(ISD::CONCAT_VECTORS, dl, DstVT, Lo, Hi);
28471       SDValue Res = DAG.getNode(X86ISD::MOVQ2DQ, dl, WideVT, N->getOperand(0));
28491       SDValue PassThru = DAG.getNode(ISD::CONCAT_VECTORS, dl, WideVT,
28497         Mask = DAG.getNode(ISD::CONCAT_VECTORS, dl, MVT::v4i1, Mask,
28499         Mask = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::v4i32, Mask);
28504         DAG.getVTList(WideVT, Mask.getValueType(), MVT::Other), Ops, dl,
28525       SDValue Res = DAG.getLoad(LdVT, dl, Ld->getChain(), Ld->getBasePtr(),
28530       Res = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VecVT, Res);
28540     SDValue Res = DAG.getMemIntrinsicNode(X86ISD::VZEXT_LOAD, dl, Tys, Ops,