[Bug target/82887] ICE: in extract_insn, at recog.c:2287 (unrecognizable insn) with _mm512_extracti64x4_epi64

peter at cordes dot ca gcc-bugzilla@gcc.gnu.org
Sun Oct 13 13:43:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82887

Peter Cordes <peter at cordes dot ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |peter at cordes dot ca

--- Comment #4 from Peter Cordes <peter at cordes dot ca> ---
Since some code is apparently still avoiding this because of old broken GCC
(e.g.
https://github.com/pmem/pmdk/blob/a6031710f7c102c6b8b6b19dc9708a3b7d43e87b/src/libpmem/x86_64/memset/memset_nt_avx512f.h#L193
)

Perhaps a workaround of  _mm512_castsi512_si256 would be useful?  Or does that
ICE as well?  I can't repro the bug on Godbolt so IDK.

Doing _mm512_set1_epi8(c) and a separate _mm256_set1_epi8(c) doesn't CSE with
GCC, only clang.  https://godbolt.org/z/uZ4lv-   And if you leave out 
-march=skylake-avx512 you get even worse asm from GCC.


More information about the Gcc-bugs mailing list