diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-12-15 12:02:28 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-12-15 12:02:28 +0100 |
commit | b1985ca02ea01cd32de23be109672a7ebf593a46 (patch) | |
tree | dcf3ccf64849f93f2fc560d0b53e8993c344dc6a /gcc/ipa-utils.c | |
parent | ee34ebba1573641e069bae17a228f597b3f57205 (diff) | |
download | gcc-b1985ca02ea01cd32de23be109672a7ebf593a46.zip gcc-b1985ca02ea01cd32de23be109672a7ebf593a46.tar.gz gcc-b1985ca02ea01cd32de23be109672a7ebf593a46.tar.bz2 |
re PR tree-optimization/88464 (AVX-512 vectorization of masked scatter failing with "not suitable for scatter store")
PR tree-optimization/88464
PR target/88498
* tree-vect-stmts.c (vect_build_gather_load_calls): For NARROWING
and mask with integral masktype, don't try to permute mask vectors,
instead emit VEC_UNPACK_{LO,HI}_EXPR. Fix up NOP_EXPR operand.
(vectorizable_store): Handle masked scatters with decl and integral
mask type.
(permute_vec_elements): Allow scalar_dest to be NULL.
* config/i386/i386.c (ix86_get_builtin)
<case IX86_BUILTIN_GATHER3ALTDIV16SF>: Use lowpart_subreg for masks.
<case IX86_BUILTIN_GATHER3ALTDIV8SF>: Don't assume mask and src have
to be the same.
* gcc.target/i386/avx512f-pr88462-1.c: Rename to ...
* gcc.target/i386/avx512f-pr88464-1.c: ... this. Fix up PR number.
Expect 4 vectorized loops instead of 3.
(f4): New function.
* gcc.target/i386/avx512f-pr88462-2.c: Rename to ...
* gcc.target/i386/avx512f-pr88464-2.c: ... this. Fix up PR number
and #include.
(avx512f_test): Prepare arguments for f4 and check the results.
* gcc.target/i386/avx512f-pr88464-3.c: New test.
* gcc.target/i386/avx512f-pr88464-4.c: New test.
From-SVN: r267169
Diffstat (limited to 'gcc/ipa-utils.c')
0 files changed, 0 insertions, 0 deletions