diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-12-15 12:04:41 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-12-15 12:04:41 +0100 |
commit | 305f1fb78347a0bdf5d6ddd6ac5dead1c6167ea5 (patch) | |
tree | 60a538f3c5ad97329a217ca0803ffd5d846589d6 /gcc/ipa-utils.c | |
parent | b1985ca02ea01cd32de23be109672a7ebf593a46 (diff) | |
download | gcc-305f1fb78347a0bdf5d6ddd6ac5dead1c6167ea5.zip gcc-305f1fb78347a0bdf5d6ddd6ac5dead1c6167ea5.tar.gz gcc-305f1fb78347a0bdf5d6ddd6ac5dead1c6167ea5.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: r267170
Diffstat (limited to 'gcc/ipa-utils.c')
0 files changed, 0 insertions, 0 deletions