https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83206
--- Comment #2 from Andrew Roberts <andrewm.roberts at sky dot com> --- Correction: 1) This works on gcc 8 snapshot, it doesn't work on gcc-7.2.0 /usr/local/gcc-7.2.0/bin/gcc -march=native -mcpu=cortex-a53 -mfpu=auto -Ofast -o matrix matrix.c cc1: error: -mfloat-abi=hard: selected processor lacks an FPU 2) The current message when you do not select a cpu explicitly, could do with improving to prompt you to do so. /usr/local/gcc/bin/gcc -march=native -mfpu=auto -o matrix matrix.c cc1: error: -mfloat-abi=hard: selected processor lacks an FPU Should really prompt user to use -mcpu= to select a cpu 3) This is the gcc version it doesn't work against, I'll check latest gcc-7 snapshot to check if the gcc-8 fix has been backported. /usr/local/gcc-7.2.0/bin/gcc -v Using built-in specs. COLLECT_GCC=/usr/local/gcc-7.2.0/bin/gcc COLLECT_LTO_WRAPPER=/usr/local/gcc-7.2.0/libexec/gcc/armv7l-unknown-linux-gnueabihf/7.2.0/lto-wrapper Target: armv7l-unknown-linux-gnueabihf Configured with: ../gcc-7.2.0/configure --prefix=/usr/local/gcc-7.2.0 --program-suffix= --disable-werror --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-plugin --enable-gnu-indirect-function --enable-lto --with-isl --enable-languages=c,c++,fortran,lto --disable-libgcj --enable-clocale=gnu --disable-libstdcxx-pch --enable-install-libiberty --disable-multilib --disable-libssp --enable-default-pie --enable-default-ssp --host=armv7l-unknown-linux-gnueabihf --build=armv7l-unknown-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --disable-bootstrap Thread model: posix gcc version 7.2.0 (GCC)