Re: [PATCH 5/14] i386 / Use early clobber to eliminate rotate indesc
From: H. Peter Anvin
Date: Tue Aug 16 2005 - 19:07:35 EST
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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/