virtualcoinさん、ありがとう。完璧な比較だ。
32ビットWindows(2310k)から32ビットLinux(2500k)への8%の速度向上は、おそらくLinux上の新しいバージョンのGCC(4.4.3 vs 3.4.5)によるものだ。
32ビットから64ビットLinuxへの15%の速度向上はもっと謎だ。コードは完全に32ビットだ。
うーん、x86-64で追加された8つの追加レジスタが効いているのだと思う。16の状態変数のほとんどをレジスタに保持できれば、SHAにとって大きな違いになるだろう。