]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fixup partial_vectors_supported_p use
authorRichard Biener <rguenther@suse.de>
Thu, 26 Jun 2025 09:45:05 +0000 (11:45 +0200)
committerRichard Biener <rguenther@suse.de>
Fri, 27 Jun 2025 09:06:56 +0000 (11:06 +0200)
commita0af6fd825d53333d0a1e3a5cdb3a2fe4c751c2e
tree20e44f59d9df2f4e1c001aa0ece39ffaa8c91236
parent5d613f473126772c47180d895b5ca438329534e2
Fixup partial_vectors_supported_p use

The following fixes the computation of supports_partial_vectors which
is used to prune the set of modes to iterate over for epilog
vectorization.  The used partial_vectors_supported_p predicate
only looks for while_ult while also support predication when
mask modes are integer modes as for AVX512.

I've noticed this isn't very effective on x86_64 anyway since
if the main loop mode is autodetected we skip re-analyzing
mode_i == 0, but then mode_i == 1 is usually the very same
large mode.  A patch for this will follow, but this will
regress without the fix below.

* tree-vect-loop.cc (vect_analyze_loop): Consider AVX512
style masking when computing supports_partial_vectors.
gcc/tree-vect-loop.cc