]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fix fallout of peeling for gap improvements
authorRichard Biener <rguenther@suse.de>
Fri, 14 Jun 2024 05:54:15 +0000 (07:54 +0200)
committerRichard Biener <rguenther@suse.de>
Fri, 14 Jun 2024 07:04:18 +0000 (09:04 +0200)
commite575b5c56137b12d402d9fb39291fe20985067b7
tree45d3739620f56b1635da7e0b20cc2bfd8e933d1c
parentd3fae2bea034edb001cd45d1d86c5ceef146899b
Fix fallout of peeling for gap improvements

The following hopefully addresses an observed bootstrap issue on aarch64
where maybe-uninit diagnostics occur.  It also fixes bogus napkin math
from myself when I was confusing rounded up size of a single access
with rounded up size of the group accessed in a single scalar iteration.
So the following puts in a correctness check, leaving a set of peeling
for gaps as insufficient.  This could be rectified by splitting the
last load into multiple ones but I'm leaving this for a followup, better
quickly fix the reported wrong-code.

* tree-vect-stmts.cc (get_group_load_store_type): Do not
re-use poly-int remain but re-compute with non-poly values.
Verify the shortened load is good enough to be covered with
a single scalar gap iteration before accepting it.

* gcc.dg/vect/pr115385.c: Enable AVX2 if available.
gcc/testsuite/gcc.dg/vect/pr115385.c
gcc/tree-vect-stmts.cc