This testcase will fail with '-O2 -ffast-math -mno-80387': #include <math.h> double test(double x) { return sin(x); } sin.c: In function 'test': /usr/include/bits/mathinline.h:456: error: impossible constraint in 'asm' Adding -D__NO_MATH_INLINES to compile flags fixes this problem.
glibc is fucked up really, it should not do this. We really should define it always because almost always get better than glibc (especially with the tree-ssa).
Hm, I would also suggest setting __NO_MATH_INLINES for -mfpmath=sse to prevent the performance degradation for XMM->x87 registers when x87 ASM code is included from mathinlines.h. x87 intrinsics are disabled for the same reason!
We will not be setting __NO_MATH_INLINES for any reason. Work with glibc to get the inlines disabled at the source under the correct conditions.