------- Additional Comments From vda at port dot imtp dot ilyichevsk dot odessa dot ua 2005-04-27 05:38 ------- Marking as invalid. I found out that this happens on Celeron but doesn't happen on Athlon. Must be instruction scheduling artifact.
Same binaries were used: # gcc -O2 -o twofish_O2 twofish.c # gcc -O3 -o twofish_O3 twofish.c # gcc -Os -o twofish_Os twofish.c # gcc -o twofish twofish.c On Celeron: # ./twofish Iterations/sec: 63584 # ./twofish_O2 Iterations/sec: 41836 # ./twofish_O3 Iterations/sec: 42604 # ./twofish_Os Iterations/sec: 45956 # gcc -v gcc version 3.4.3 # cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 11 model name : Intel(R) Celeron(TM) CPU stepping : 1 cpu MHz : 1196.222 cache size : 256 KB physical id : 0 siblings : 1 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse bogomips : 2359.29 On Athlon: # ./twofish Iterations/sec: 65648 # ./twofish_O2 Iterations/sec: 64484 # ./twofish_O3 Iterations/sec: 71596 # ./twofish_Os Iterations/sec: 63560 # cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 8 model name : AMD Athlon(tm) XP 2400+ stepping : 1 cpu MHz : 2009.954 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse pni syscall mmxext 3dnowext 3dnow bogomips : 3964.92 -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21147