https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80336
Bug ID: 80336 Summary: AVX512: operand type mismatch for `vxorps' Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: m...@sven-woop.de Target Milestone: --- The following code fails to compile with the GCC 6.3 and trunk: #include <immintrin.h> inline __attribute__((always_inline)) float fmin(float a, float b) { return a<b ? a:b; } inline __attribute__((always_inline)) float fmax(float a, float b) { return a<b ? b:a; } float intersect(float time) { return fmax(fmin(time*10, 0.0f), 9.0f); } Command Line to reproduce: g++ -mavx512f -mavx512dq test.cpp -c -o test Output: /tmp/cc0D8mRE.s: Assembler messages: /tmp/cc0D8mRE.s:18: Error: operand type mismatch for `vxorps' The following works for some reason: g++ -mavx512f test.cpp -c -o test