https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89397
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to jos...@codesourcery.com from comment #3) > On Tue, 19 Feb 2019, marxin at gcc dot gnu.org wrote: > > > Before the revision it was rejected with: > > > > atomic2.c: In function ‘func’: > > atomic2.c:49:8: error: x87 register return with x87 disabled > > ald1 = d1; > > ^ > > atomic2.c:51:8: error: SSE register return with SSE disabled > > acd1 += ab1; > > ^ > > The code doesn't appear to involve such a return, so I don't see why it > should be rejected at all. '-mno-80387' '-msoft-float' Generate output containing library calls for floating point. *Warning:* the requisite libraries are not part of GCC. Normally the facilities of the machine's usual C compiler are used, but this cannot be done directly in cross-compilation. You must make your own arrangements to provide suitable library functions for cross-compilation. On machines where a function returns floating-point results in the 80387 register stack, some floating-point opcodes may be emitted even if '-msoft-float' is used. In this case, library calls return floating point in SSE register.