[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