[Bug target/99100] Inconsistent vector length used in autovectorizer for AVX-512

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 16 08:01:29 GMT 2021


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

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:1531f39268c8973cf9478585fba5c5bbdb6e9c4c

commit r11-7253-g1531f39268c8973cf9478585fba5c5bbdb6e9c4c
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Tue Feb 16 08:59:03 2021 +0100

    openmp: Fix up vectorization simd call badness computation [PR99100]

    As mentioned in the PR, ix86_simd_clone_usable didn't make it more
desirable
    to use 'e' mangled AVX512F entrypoints over 'd' mangled ones (AVX2) with
the
    same simdlen.  This patch fixes that.  I have tweaked the generic code too
    to make more room for these target specific badness factors.

    2021-02-16  Jakub Jelinek  <jakub@redhat.com>

            PR target/99100
            * tree-vect-stmts.c (vectorizable_simd_clone_call): For num_calls
!= 1
            multiply by 4096 and for inbranch by 8192.
            * config/i386/i386.c (ix86_simd_clone_usable): For TARGET_AVX512F,
            return 3, 2 or 1 for mangle letters 'b', 'c' or 'd'.

            * gcc.target/i386/pr99100.c: New test.


More information about the Gcc-bugs mailing list