On 2014.11.20 at 19:44 +0100, Jakub Jelinek wrote: > On Thu, Nov 20, 2014 at 07:41:43PM +0100, Markus Trippelsdorf wrote: > > 2014-11-20 Markus Trippelsdorf <mar...@trippelsdorf.de> > > > > * config/rs6000/rs6000.c (includes_rldic_lshift_p): Cast 0 to unsigned. > > (includes_rldicr_lshift_p): Likewise. > > > > diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c > > index a9604cf3fa97..d7958b33ba1a 100644 > > --- a/gcc/config/rs6000/rs6000.c > > +++ b/gcc/config/rs6000/rs6000.c > > @@ -16197,10 +16197,10 @@ includes_rldic_lshift_p (rtx shiftop, rtx andop) > > unsigned HOST_WIDE_INT c, lsb, shift_mask; > > > > c = INTVAL (andop); > > - if (c == 0 || c == ~0) > > + if (c == 0 || c == ~(unsigned HOST_WIDE_INT) 0) > > return 0; > > > > - shift_mask = ~0; > > + shift_mask = ~(unsigned HOST_WIDE_INT) 0; > > shift_mask <<= INTVAL (shiftop); > > > > /* Find the least significant one bit. */ > > @@ -16235,7 +16235,7 @@ includes_rldicr_lshift_p (rtx shiftop, rtx andop) > > { > > unsigned HOST_WIDE_INT c, lsb, shift_mask; > > > > - shift_mask = ~0; > > + shift_mask = ~(unsigned HOST_WIDE_INT) 0; > > shift_mask <<= INTVAL (shiftop); > > c = INTVAL (andop); > > You could use ~HOST_WIDE_INT_UC (0) in all the 3 cases.
Or better still HOST_WIDE_INT_M1U. -- Markus