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