On Maw, 2005-08-16 at 17:06 -0700, H. Peter Anvin wrote: > At least i386 and x86-64 gcc should recognize > > ((foo << x) + (foo >> (32-x))) > > ... as a 32-bit rotate Only for 1 <= x <= 31. For the x = 0 case the code posted is undefined and at least in some cases gcc will do "interesting" things as a result such as treating >> 32 as >> 0. Alan