https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87471
Bug ID: 87471 Summary: AVX512F gather in Intel syntax is incompatible with binutils 2.32 Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com CC: jbeulich at novell dot com, ubizjak at gmail dot com Target Milestone: --- Target: i386,x86-64 With binutils commit: commit 6ff00b5e12e7256738d9a4dac66e5a7745b771ea Author: Jan Beulich <jbeul...@novell.com> Date: Tue Jul 31 10:55:17 2018 +0200 x86/Intel: correct permitted operand sizes for AVX512 scatter/gather AVX gather insns correctly allow the element size to be specified rather than the full vector size. Make AVX512 ones match. https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=6ff00b5e12e7256738d9a4dac66e5a7745b771ea I got $ /export/build/gnu/tools-build/gcc-8-debug/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/tools-build/gcc-8-debug/build-x86_64-linux/gcc/ -fno-diagnostics-show-caret -fdiagnostics-color=never -Ofast -mavx512vl -masm=intel -c /export/gnu/import/git/sources/gcc-release/gcc/testsuite/gcc.target/i386/avx512vl-pr79299-2.c /tmp/ccOjp0RP.s: Assembler messages: /tmp/ccOjp0RP.s:12: Error: operand size mismatch for `vgatherdps' /tmp/ccOjp0RP.s:26: Error: operand size mismatch for `vgatherdps' /tmp/ccOjp0RP.s:40: Error: operand size mismatch for `vgatherdpd' /tmp/ccOjp0RP.s:54: Error: operand size mismatch for `vgatherdpd' /tmp/ccOjp0RP.s:68: Error: operand size mismatch for `vgatherqps' /tmp/ccOjp0RP.s:81: Error: operand size mismatch for `vgatherqps' /tmp/ccOjp0RP.s:94: Error: operand size mismatch for `vgatherqpd' /tmp/ccOjp0RP.s:108: Error: operand size mismatch for `vgatherqpd' /tmp/ccOjp0RP.s:122: Error: operand size mismatch for `vpgatherdd' /tmp/ccOjp0RP.s:136: Error: operand size mismatch for `vpgatherdd' /tmp/ccOjp0RP.s:150: Error: operand size mismatch for `vpgatherdq' /tmp/ccOjp0RP.s:164: Error: operand size mismatch for `vpgatherdq' /tmp/ccOjp0RP.s:178: Error: operand size mismatch for `vpgatherqd' /tmp/ccOjp0RP.s:191: Error: operand size mismatch for `vpgatherqd' /tmp/ccOjp0RP.s:204: Error: operand size mismatch for `vpgatherqq' /tmp/ccOjp0RP.s:218: Error: operand size mismatch for `vpgatherqq' /tmp/ccOjp0RP.s:232: Error: operand size mismatch for `vgatherdps' /tmp/ccOjp0RP.s:246: Error: operand size mismatch for `vgatherdps' /tmp/ccOjp0RP.s:260: Error: operand size mismatch for `vgatherdpd' /tmp/ccOjp0RP.s:274: Error: operand size mismatch for `vgatherdpd' /tmp/ccOjp0RP.s:287: Error: operand size mismatch for `vgatherqps' /tmp/ccOjp0RP.s:301: Error: operand size mismatch for `vgatherqps' /tmp/ccOjp0RP.s:315: Error: operand size mismatch for `vgatherqpd' /tmp/ccOjp0RP.s:329: Error: operand size mismatch for `vgatherqpd' /tmp/ccOjp0RP.s:343: Error: operand size mismatch for `vpgatherdd' /tmp/ccOjp0RP.s:357: Error: operand size mismatch for `vpgatherdd' /tmp/ccOjp0RP.s:371: Error: operand size mismatch for `vpgatherdq' /tmp/ccOjp0RP.s:385: Error: operand size mismatch for `vpgatherdq' /tmp/ccOjp0RP.s:398: Error: operand size mismatch for `vpgatherqd' /tmp/ccOjp0RP.s:412: Error: operand size mismatch for `vpgatherqd' /tmp/ccOjp0RP.s:426: Error: operand size mismatch for `vpgatherqq' /tmp/ccOjp0RP.s:440: Error: operand size mismatch for `vpgatherqq' /tmp/ccOjp0RP.s:454: Error: operand size mismatch for `vgatherdps' /tmp/ccOjp0RP.s:467: Error: operand size mismatch for `vgatherdps' /tmp/ccOjp0RP.s:480: Error: operand size mismatch for `vgatherdpd' /tmp/ccOjp0RP.s:493: Error: operand size mismatch for `vgatherdpd' /tmp/ccOjp0RP.s:506: Error: operand size mismatch for `vgatherqps' /tmp/ccOjp0RP.s:521: Error: operand size mismatch for `vgatherqps' /tmp/ccOjp0RP.s:534: Error: operand size mismatch for `vgatherqpd' /tmp/ccOjp0RP.s:547: Error: operand size mismatch for `vgatherqpd' /tmp/ccOjp0RP.s:560: Error: operand size mismatch for `vpgatherdd' /tmp/ccOjp0RP.s:573: Error: operand size mismatch for `vpgatherdd' /tmp/ccOjp0RP.s:586: Error: operand size mismatch for `vpgatherdq' /tmp/ccOjp0RP.s:599: Error: operand size mismatch for `vpgatherdq' /tmp/ccOjp0RP.s:612: Error: operand size mismatch for `vpgatherqd' /tmp/ccOjp0RP.s:627: Error: operand size mismatch for `vpgatherqd' /tmp/ccOjp0RP.s:640: Error: operand size mismatch for `vpgatherqq' /tmp/ccOjp0RP.s:653: Error: operand size mismatch for `vpgatherqq'