On Wed, May 23, 2012 at 9:31 AM, H. Peter Anvin <hpa@xxxxxxxxx> wrote: >>> >>> And it should return UL for shift values < 32 and ULL otherwise. >> > > Why do you want that behavior? That seems bizarre... We *have* to have that behavior. A 64-bit value on a 32-bit architecture has fundamentally different semantics than a 32-bit one. It expands arithmetic, but it has other semantic differences too. Think "printf()" etc. We don't want to force people to do 64-bit arithmetic on x86-32 when they are working with BIT(0), for chrissake! So if people make BIT(0) be a 64-bit value on a 32-bit architecture, I'm going to run around naked with a chainsaw, and call people morons. That's just not acceptable. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html