https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125750
Bug ID: 125750
Summary: Excessive vector unrolling leads to excessive spilling
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: aarch64-sve
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
Target Milestone: ---
Target: aarch64
Created attachment 64712
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=64712&action=edit
Reproducer
This may be aarch64-specific but not sure. Once PR125672 is addressed, the rest
of the astcenc (SPEC2026) gap with LLVM on aarch64 seems to be to excessive
unrolling in one kernel when vectorising. I'm attaching what I hope is a
reasonable reproducer where GCC generates much more code at -O3
-march=armv8.2-a+sve -ffast-math .