https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117001
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Works for me on the trunk: [apinski@xeond2 upstream-cross-aarch64]$ ./install/bin/aarch64-linux-gnu-g++ -static t.cc [apinski@xeond2 upstream-cross-aarch64]$ ./install-qemu/bin/qemu-aarch64 a.out [0, 0, 0, 1, 0, 1, 1, 0] [apinski@xeond2 upstream-cross-aarch64]$ ./install/bin/aarch64-linux-gnu-g++ -static t.cc -O3 [apinski@xeond2 upstream-cross-aarch64]$ ./install-qemu/bin/qemu-aarch64 a.out [0, 0, 0, 1, 0, 1, 1, 0] [apinski@xeond2 upstream-cross-aarch64]$ ./install/bin/aarch64-linux-gnu-g++ -static t.cc -O3 -march=armv8.2-a+sve [apinski@xeond2 upstream-cross-aarch64]$ ./install-qemu/bin/qemu-aarch64 a.out [0, 0, 0, 1, 0, 1, 1, 0] [apinski@xeond2 upstream-cross-aarch64]$ ./install/bin/aarch64-linux-gnu-g++ -static t.cc -O3 -march=armv8.2-a+sve -fno-vect-cost-model [apinski@xeond2 upstream-cross-aarch64]$ ./install-qemu/bin/qemu-aarch64 a.out [0, 0, 0, 1, 0, 1, 1, 0]