https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83206
--- Comment #5 from Andrew Roberts <andrewm.roberts at sky dot com> --- It looks like I was right about this all along, its just that armv6l isn't working. armv7l seems ok: On RaspberryPi B - ARM1176 rev 7 (0x4100b760) cat /proc/cpuinfo processor : 0 model name : ARMv6-compatible processor rev 7 (v6l) BogoMIPS : 697.95 Features : half thumb fastmult vfp edsp java tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xb76 CPU revision : 7 /usr/local/gcc/bin/gcc -v Using built-in specs. COLLECT_GCC=/usr/local/gcc/bin/gcc COLLECT_LTO_WRAPPER=/usr/local/gcc-8.0.0/libexec/gcc/armv6l-unknown-linux-gnueabihf/8.0.0/lto-wrapper Target: armv6l-unknown-linux-gnueabihf Configured with: ../gcc-8.0.0/configure --prefix=/usr/local/gcc-8.0.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=armv6l-unknown-linux-gnueabihf --build=armv6l-unknown-linux-gnueabihf --with-arch=armv6 --with-float=hard --with-fpu=vfp --disable-bootstrap Thread model: posix gcc version 8.0.0 20171126 (experimental) (GCC) /usr/local/gcc/bin/gcc -march=native -mcpu=native -mtune=native -Q --target-help | grep "march=\|mtune=\|mcpu=\|mfpu=" -march= armv6zk+fp -mcpu= arm1176jz-s -mfpu= vfp -mtune= arm1176jz-s /usr/local/gcc/bin/gcc -o matrix-v6 -march=native -mcpu=native -mtune=native -mfpu=auto -O3 matrix.c cc1: error: -mfloat-abi=hard: selected processor lacks an FPU whereas: /usr/local/gcc/bin/gcc -o matrix-v6 -march=native -mcpu=native -mtune=native -mfpu=vfp -O3 matrix.c is fine. -mfpu=auto works on Raspberry Pi 3B - 4 x Cortex-A53 rev 4 (0x4100d030) and ODROID-XU4 - 4 x Cortex-A15 rev 3 (0x4100c0f0)/4 x Cortex-A7 rev 3 (0x4100c070) On aarch64 -mfpu=auto gives: gcc: error: unrecognized command line option ‘-mfpu=auto’ which is correct, but would it be better to silently accept it for compatibility with ARM 32 bit