The is currently no SSE version in x86_64 for fmod. fmod{d,s,x}f3 intriniscs are constrainted by: "TARGET_USE_FANCY_MATH_387 && (!(TARGET_SSE2 && TARGET_SSE_MATH) || TARGET_MIX_SSE_I387)"
The need for these intriniscs can be seen in the Polyhedron Fortran performance test "ac". As soon as gfortran started to used fmod the execution time for the program "ac" almost trippled under x86_64 as libcall to the math library is done. For the performance, see: http://www.suse.de/~gcctest/c++bench/polyhedron/polyhedron-summary.txt-ac-3.png at http://www.suse.de/~gcctest/c++bench/polyhedron/ See mailing list thread which starts with http://gcc.gnu.org/ml/fortran/2006-11/msg00333.html the actually interesting thread starts, however, with: http://gcc.gnu.org/ml/fortran/2006-11/msg00353.html -- Summary: x86_64: SSE version missing for fmod{d,s,x}f3 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29852