[Bug target/85328] [8 Regression] accessing ymm16 with non-avx512 instruction form
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Apr 12 11:18:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85328
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Apr 12 11:17:23 2018
New Revision: 259344
URL: https://gcc.gnu.org/viewcvs?rev=259344&root=gcc&view=rev
Log:
PR target/85328
* config/i386/sse.md
(<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name> split,
<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name> split,
vec_extract_lo_<mode><mask_name> split, vec_extract_lo_v32hi,
vec_extract_lo_v64qi): For non-AVX512VL if input is xmm16+ reg
and output is a reg, avoid creating invalid lowpart subreg, but
instead split into a 512-bit move. Don't split if not AVX512VL,
input is xmm16+ reg and output is a mem.
(vec_extract_lo_<mode><mask_name>, vec_extract_lo_v32hi,
vec_extract_lo_v64qi): Don't require split if not AVX512VL, input is
xmm16+ reg and output is a mem.
* gcc.target/i386/pr85328.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/i386/pr85328.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/sse.md
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-bugs
mailing list