Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:ROTL

2884 /// => (rotl (bswap x), 16)
2945 if (TLI.isOperationLegalOrCustom(ISD::ROTL, VT))
2946 return DAG.getNode(ISD::ROTL, N->getDebugLoc(), VT, BSwap, ShAmt);
2990 // Recognize halfword bswaps as (bswap + rotl 16) or (bswap + shl 16)
3123 bool HasROTL = TLI.isOperationLegalOrCustom(ISD::ROTL, VT);
3156 // fold (or (shl x, C1), (srl x, C2)) -> (rotl x, C1)
3167 Rot = DAG.getNode(ISD::ROTL, DL, VT, LHSShiftArg, LHSShiftAmt);
3195 // fold (or (shl x, y), (srl x, (sub 32, y))) -> (rotl x, y)
3203 return DAG.getNode(ISD::ROTL, DL, VT,
3213 // fold (or (shl x, (sub 32, y)), (srl x, r)) -> (rotl x, (sub 32, y))
3223 return DAG.getNode(ISD::ROTL, DL, VT,
3243 // (rotl x, y)
3249 return DAG.getNode(HasROTL ? ISD::ROTL : ISD::ROTR, DL, VT,
3259 // (rotl x, (sub 32, y))
3263 return DAG.getNode(HasROTR ? ISD::ROTR : ISD::ROTL, DL, VT,
5159 // Form (sext_inreg (bswap >> 16)) or (sext_inreg (rotl (bswap) 16))