Zachary Amsden wrote: > > This one in particular is non-optimal looking from C because the > compiler misses the potential for rotation. But, composing into > temporaries and then issuing two writes to memory instead of multiple > writes within the same word could actually get you a better cycle count, > and that is something GCC just might be able to do :) > At least i386 and x86-64 gcc should recognize ((foo << x) + (foo >> (32-x))) ... as a 32-bit rotate; similar for 8-, 16- and 64-bit rotates of appropriate sized items. Also, it seems it could just be an inline function instead of a macro. -hpa