idea does not work on Linux x86 systems under gcc. Floating-point operations on the x86 architecture are affected by a hidden global variable called ``precision control,'' which normally specifies either 53-bit rounding or 64-bit rounding. Linux sets 64-bit rounding by default; gcc does not set 53-bit rounding before double floating-point operations. (gcc does, however, use 53-bit rounding for double spills to memory. The result is a mishmash of 53-bit rounding and 64-bit rounding, depending on which numbers are stored in registers, which in turn depends on the compiler optimization level.)
In hash127 0.70, sparc is idea plus some instruction scheduling for the UltraSPARC. hash127_little has not been optimized; in principle it can run at the same speed as hash127.
x86-idea, with gcc -O6, is almost six times slower than pentium on a Pentium. Feel free to point this out to anyone who claims that manual optimization is useless. I would be interested in hearing results from other compilers.
pentium-idea will probably not work with any compiler other than gcc -O1. In particular, it labels its variables as double rather than long double; this avoids some instruction selection flaws in gcc, but will not work if the double variables are ever spilled to memory.