https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83206
--- Comment #19 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- -m{cpu,tune,arch}=native are hosted-only flags that mean look-up the architecture on the machine I'm running on now. They are not supported at all on cross compilers. This is translated by the driver into the real -m{cpu,tune,arch} flag that gets passed to the compiler proper, which is why you see it changed by the help information. -mfpu=auto means use the floating-point unit implied by -mcpu/-march flags. This works even if on a cross compiler. -mfpu=auto != -mfpu=native. There never has been a -mfpu=native option and now we have -mfpu=auto we don't need one. -mfpu=auto is not translated by the driver; it's used in the compiler proper to control where the selected FPU information is looked up (directly or from the architecture specification).