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

References

lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 6231     SDValue BitWidthC = DAG.getConstant(VT.getScalarSizeInBits(), sdl, VT);
 6231     SDValue BitWidthC = DAG.getConstant(VT.getScalarSizeInBits(), sdl, VT);
 6232     SDValue Zero = DAG.getConstant(0, sdl, VT);
 6233     SDValue ShAmt = DAG.getNode(ISD::UREM, sdl, VT, Z, BitWidthC);
 6236     if (TLI.isOperationLegalOrCustom(FunnelOpcode, VT)) {
 6237       setValue(&I, DAG.getNode(FunnelOpcode, sdl, VT, X, Y, Z));
 6244     if (X == Y && isPowerOf2_32(VT.getScalarSizeInBits())) {
 6246       if (TLI.isOperationLegalOrCustom(RotateOpcode, VT)) {
 6247         setValue(&I, DAG.getNode(RotateOpcode, sdl, VT, X, Z));
 6253       if (TLI.isOperationLegalOrCustom(RotateOpcode, VT)) {
 6255         SDValue NegShAmt = DAG.getNode(ISD::SUB, sdl, VT, Zero, Z);
 6256         setValue(&I, DAG.getNode(RotateOpcode, sdl, VT, X, NegShAmt));
 6262       SDValue NegZ = DAG.getNode(ISD::SUB, sdl, VT, Zero, Z);
 6263       SDValue NShAmt = DAG.getNode(ISD::UREM, sdl, VT, NegZ, BitWidthC);
 6264       SDValue ShX = DAG.getNode(ISD::SHL, sdl, VT, X, IsFSHL ? ShAmt : NShAmt);
 6265       SDValue ShY = DAG.getNode(ISD::SRL, sdl, VT, X, IsFSHL ? NShAmt : ShAmt);
 6266       setValue(&I, DAG.getNode(ISD::OR, sdl, VT, ShX, ShY));
 6272     SDValue InvShAmt = DAG.getNode(ISD::SUB, sdl, VT, BitWidthC, ShAmt);
 6273     SDValue ShX = DAG.getNode(ISD::SHL, sdl, VT, X, IsFSHL ? ShAmt : InvShAmt);
 6274     SDValue ShY = DAG.getNode(ISD::SRL, sdl, VT, Y, IsFSHL ? InvShAmt : ShAmt);
 6275     SDValue Or = DAG.getNode(ISD::OR, sdl, VT, ShX, ShY);
 6280     if (VT.isVector())
 6281       CCVT = EVT::getVectorVT(*Context, CCVT, VT.getVectorNumElements());
 6286     setValue(&I, DAG.getSelect(sdl, VT, IsZeroShift, IsFSHL ? X : Y, Or));