------- Comment #4 from burnus at gcc dot gnu dot org 2007-11-18 08:37 ------- > It's 64-bit only, and it appears to be a glibc bug: with glibc on x86_64, > sinf((float) integer_variable) is slower than (float)sin((double) > integer_variable).
Can it be that it has been fixed meanwhile? Using demo1.f on x86-64 (openSUSE factory; glibc 2.6.1 (20070803), g77 3.3.5 20050117; gfortran 4.3.0 20071117; AMD Athlon64 x2 4800+) I get the following timings with "-O2": g77 gfortran -m32 real(4) 0.408s 0.421s -m64 real(4) 1.040s 0.589s -m32 real(8) 0.411s 0.408s -m64 real(8) 0.976s 0.968s -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34128