On Sat, Jan 14, 2012 at 12:41 PM, Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:
>
> For the record, it generates "andl $15" here.
Ok. That means that gcc was able to prove that it never had any signed
values (which is certainly reasonable when you do things like "for
(i=0; i<X;i++)"). But it's better to simply not rely on gcc always
getting details like this right.
It's also better to use a model that simply doesn't even require you
as a programmer to have to even *think* about signed values.
It's easy to get "%" wrong by mistake (signed integer modulus didn't
even use to have well-defined semantics in traditional C), and there
is almost never any excuse for using it for powers-of-two.
> Here is updated patch which explicitly uses & (equally tested):
Thanks,
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Kernel]
[Gnu Classpath]
[Gnu Crypto]
[DM Crypt]
[Netfilter]
[Bugtraq]