This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [cfg-branch] unroll-new cleanups


> Hello.
> 
> > I guess we can now add support for unsigned conditionals and different strides.
> > I don't see anything different on unsigned condtionals now, except that the
> > bounds check conditionals I added to the code should be unsigned as well.
> > Do you see some problem with these?
> > 
> > As this is nasty issue, I don't want to get it overhelmly complicated, so any
> > hints are welcome :)
> 
> The problems might arise when using unsigned comparison on signed values (can
> it happen?). I'm not sure whether conversion from signed to unsigned integers
Can.
> must yield same results on different architectures? (Not that we didn't have
> the same problem now when using signed comparison on unsigned values...)

Basically GCC expect the signed->unsigned converison to be NOP and all the
arithmetics except for mult/div to be unsigned one, so this is safe.
> 
> Counting number of iterations with under/overflow may be a small bit nastier
> than what we do now, but probably not that much. In fact, if we ignore things
> like
> 
>  for (u=15;u>0;u++)
> 
> (as we do in signed case anyway), there should not be great problems with this.

I guess so, so I will try.

Honza
> 
> Zdenek


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]