(len % 1) != 0

Dave Korn dave.korn@artimi.com
Tue Feb 19 18:35:00 GMT 2008


On 19 February 2008 18:23, Paul Koning wrote:

>>>>>> "Dave" == Dave Korn <dave.korn@artimi.com> writes:
> 
>  Dave> On 19 February 2008 16:30, Sheng-Liang Song wrote:
>  >> or
>  >>
>  >> (len & 1) != 0 <=> (len % 2) != 0
>  >>
> 
>  Dave> That would have the advantage of not requiring a divide
>  Dave> operation :)
> 
> It shouldn't matter -- the optimizer will do the right thing, as I
> recall.

  NB len == signed int.

  Yes, it can simplify it to a bunch of shifts and sign extends and masks
without using an explicit divide, but it's not as good as a simple AND
operation.  (Maybe VRP in 4.x could handle that by knowing that the result of
strlen has to be >= 0, but 3.x series won't do it).


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....



More information about the Gdb mailing list