http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55185
--- Comment #3 from Markus Trippelsdorf <markus at trippelsdorf dot de> --- markus@x4 ~ % cat test.i extern double foo(); void bar() { foo(); } markus@x4 ~ % gcc -m32 -O2 -mno-sse -c test.i markus@x4 ~ % gcc -O2 -mno-sse -c test.i test.i: In function ‘bar’: test.i:2:17: error: SSE register return with SSE disabled void bar() { foo(); } ^ markus@x4 ~ % clang -O2 -mno-sse -c test.i markus@x4 ~ %