aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-utils.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2018-12-15 12:02:28 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2018-12-15 12:02:28 +0100
commitb1985ca02ea01cd32de23be109672a7ebf593a46 (patch)
treedcf3ccf64849f93f2fc560d0b53e8993c344dc6a /gcc/ipa-utils.c
parentee34ebba1573641e069bae17a228f597b3f57205 (diff)
downloadgcc-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