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

References

lib/CodeGen/SelectionDAG/TargetLowering.cpp
 6040   if (SrcVT.getScalarType() != MVT::i64)
 6044   EVT ShiftVT = getShiftAmountTy(SrcVT, DAG.getDataLayout());
 6049     if (SrcVT.isVector() &&
 6050         (!isOperationLegalOrCustom(ISD::SRL, SrcVT) ||
 6052          !isOperationLegalOrCustom(ISD::SINT_TO_FP, SrcVT) ||
 6053          !isOperationLegalOrCustomOrPromote(ISD::OR, SrcVT) ||
 6054          !isOperationLegalOrCustomOrPromote(ISD::AND, SrcVT)))
 6062     SDValue Shr = DAG.getNode(ISD::SRL, dl, SrcVT, Src, ShiftConst);
 6063     SDValue AndConst = DAG.getConstant(1, dl, SrcVT);
 6064     SDValue And = DAG.getNode(ISD::AND, dl, SrcVT, Src, AndConst);
 6065     SDValue Or = DAG.getNode(ISD::OR, dl, SrcVT, And, Shr);
 6075         getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), SrcVT);
 6078         dl, SetCCVT, Src, DAG.getConstant(0, dl, SrcVT), ISD::SETLT);
 6086     if (SrcVT.isVector() &&
 6087         (!isOperationLegalOrCustom(ISD::SRL, SrcVT) ||
 6090          !isOperationLegalOrCustomOrPromote(ISD::OR, SrcVT) ||
 6091          !isOperationLegalOrCustomOrPromote(ISD::AND, SrcVT)))
 6098     SDValue TwoP52 = DAG.getConstant(UINT64_C(0x4330000000000000), dl, SrcVT);
 6101     SDValue TwoP84 = DAG.getConstant(UINT64_C(0x4530000000000000), dl, SrcVT);
 6102     SDValue LoMask = DAG.getConstant(UINT64_C(0x00000000FFFFFFFF), dl, SrcVT);
 6105     SDValue Lo = DAG.getNode(ISD::AND, dl, SrcVT, Src, LoMask);
 6106     SDValue Hi = DAG.getNode(ISD::SRL, dl, SrcVT, Src, HiShift);
 6107     SDValue LoOr = DAG.getNode(ISD::OR, dl, SrcVT, Lo, TwoP52);
 6108     SDValue HiOr = DAG.getNode(ISD::OR, dl, SrcVT, Hi, TwoP84);