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

References

lib/CodeGen/SelectionDAG/TargetLowering.cpp
 6223   EVT ShVT = getShiftAmountTy(VT, DAG.getDataLayout());
 6225   unsigned NumBitsPerElt = VT.getScalarSizeInBits();
 6229       isOperationLegalOrCustom(ISD::CTLZ, VT)) {
 6230     Result = DAG.getNode(ISD::CTLZ, dl, VT, Op);
 6235   if (isOperationLegalOrCustom(ISD::CTLZ_ZERO_UNDEF, VT)) {
 6237         getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), VT);
 6238     SDValue CTLZ = DAG.getNode(ISD::CTLZ_ZERO_UNDEF, dl, VT, Op);
 6239     SDValue Zero = DAG.getConstant(0, dl, VT);
 6241     Result = DAG.getNode(ISD::SELECT, dl, VT, SrcIsZero,
 6242                          DAG.getConstant(NumBitsPerElt, dl, VT), CTLZ);
 6247   if (VT.isVector() && (!isPowerOf2_32(NumBitsPerElt) ||
 6248                         !isOperationLegalOrCustom(ISD::CTPOP, VT) ||
 6249                         !isOperationLegalOrCustom(ISD::SRL, VT) ||
 6250                         !isOperationLegalOrCustomOrPromote(ISD::OR, VT)))
 6264     Op = DAG.getNode(ISD::OR, dl, VT, Op,
 6265                      DAG.getNode(ISD::SRL, dl, VT, Op, Tmp));
 6267   Op = DAG.getNOT(dl, Op, VT);
 6268   Result = DAG.getNode(ISD::CTPOP, dl, VT, Op);