Just as
a teaser, I tried running the same patch as 32-bit and 64-bit programs on
my 64-bit machine, hoping to find the 32-bit version so much faster that I
could just forget optimizing the 64 bit version entirely. But I found the
64-bit one 33% faster than the 32-bit one for the particular patch I tried.
So 64-bit compatibility has to be taken seriously!
If I had to hazard a guess that speedup is due to the compiler. The 64 bit CPUs are all quite recent and the assumptions about what the fast paths are a much smaller and generally much more efficient set than the 32 bit options. No doubt some of that comes from the gamesmanship involved in rigging and hyping scores on the baleful SPEC test suite.