This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/72784] New: AVX512: Assembler failure when compiling on OSX
- From: "wenzel at mitsuba-renderer dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 03 Aug 2016 10:37:10 +0000
- Subject: [Bug target/72784] New: AVX512: Assembler failure when compiling on OSX
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72784
Bug ID: 72784
Summary: AVX512: Assembler failure when compiling on OSX
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: wenzel@mitsuba-renderer.org
Target Milestone: ---
GCC (HEAD) fails to compile basic AVX512 code on my machine (OSX 10.11.6) which
I'm using to develop for (and emulate) this architecture.
Consider the following small program:
#include <immintrin.h>
__m512 addConstant(__m512 arg) {
return _mm512_add_ps(arg, _mm512_set1_ps(1.f));
}
Compiling yields the following error message at the assembler stage:
$ g++-7 test.cpp -c -o test.s -O3 -mavx512f
/var/folders/lm/4mxv3gx901q6sympjjnzbrb40000gp/T//cc0nXIBi.s:6:2: error:
instruction requires: AVX-512 ISA
vbroadcastss LC0(%rip), %zmm1
^
/var/folders/lm/4mxv3gx901q6sympjjnzbrb40000gp/T//cc0nXIBi.s:7:2: error:
instruction requires: AVX-512 ISA
vaddps %zmm1, %zmm0, %zmm0
This is an interesting interaction between the GCC toolchain and the Clang
assembler which only occurs when developing on OSX. It is possible to work
around the error by specifying an additional option "-Wa,-mavx512f" to the
compiler. However, this is certainly non-ideal, since it is nonstandard
parameter and in fact causes builds on other platforms to fail.
Ideally GCC (on OSX only) would transparently forward the -march=<...> and
-mavx* parameters to the LLVM assembler.