Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:ROTL

3022 /// => (rotl (bswap x), 16)
3084 if (TLI.isOperationLegalOrCustom(ISD::ROTL, VT))
3085 return DAG.getNode(ISD::ROTL, SDLoc(N), VT, BSwap, ShAmt);
3141 // Recognize halfword bswaps as (bswap + rotl 16) or (bswap + shl 16)
3277 bool HasROTL = TLI.isOperationLegalOrCustom(ISD::ROTL, VT);
3310 // fold (or (shl x, C1), (srl x, C2)) -> (rotl x, C1)
3319 SDValue Rot = DAG.getNode(HasROTL ? ISD::ROTL : ISD::ROTR, DL, VT,
3346 // fold (or (shl x, y), (srl x, (sub 32, y))) -> (rotl x, y)
3353 return DAG.getNode(HasROTL ? ISD::ROTL : ISD::ROTR, DL, VT, LHSShiftArg,
3359 // fold (or (shl x, (sub 32, y)), (srl x, r)) -> (rotl x, (sub 32, y))
3365 return DAG.getNode(HasROTR ? ISD::ROTR : ISD::ROTL, DL, VT, LHSShiftArg,
3382 // (rotl x, y)
3388 return DAG.getNode(HasROTL ? ISD::ROTL : ISD::ROTR, DL, VT,
3396 // (rotl x, (sub 32, y))
3400 return DAG.getNode(HasROTR ? ISD::ROTR : ISD::ROTL, DL, VT,
5383 // Form (sext_inreg (bswap >> 16)) or (sext_inreg (rotl (bswap) 16))