This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
RE: (len % 1) != 0
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....