https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63826
Bug ID: 63826 Summary: GCC produces haswell instructions that darwin14 assembler does not like Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: fxcoudert at gcc dot gnu.org gcc.target/i386/pr57275.c currently fails on my laptop, which is a x86_64-apple-darwin14 with quad-core Intel Core i7 2.3 GHz and Xcode 6.1. The minimal reproducer is this: void foo (float b[1024]) { for (int i = 0; i < 1024; i++) b[i] = i; } Compiled with -march=haswell (or, in my case, -march=native) I get errors from the assembler about instructions it does not like: $ ./bin/gcc pr57275.c -march=haswell -save-temps pr57275.s:18:no such instruction: `vxorps %xmm0, %xmm0,%xmm0' pr57275.s:19:no such instruction: `vcvtsi2ss -4(%rbp), %xmm0,%xmm0' pr57275.s:20:no such instruction: `vmovss %xmm0, (%rax)' The list of offending instructions depends on optimization level and whether I compile with -m32 or -m64 (the default): At -O0, -O1 or -O2: vcvtsi2ss vmovss vxorps At -Os: vcvtsi2ss vmovss At -O3: vcvtdq2ps vcvtsi2ss vmovaps vmovd vmovdqa vmovss vpaddd vpbroadcastd vxorps vzeroupper At -O3 -m32: vcvtdq2ps vmovaps vmovd vmovdqa vpaddd vpbroadcastd vzeroupper