https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123767
Bug ID: 123767
Summary: Wrong address offset for scatter store with
-msve-vector-bits=128
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: alfierichards at gcc dot gnu.org
Target Milestone: ---
Created attachment 63455
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=63455&action=edit
Reproducer
The below code when compiled with:
gcc/xgcc -B gcc -march=armv9-a -march=armv9-a -O3 -g -mmax-vectorization
-msve-vector-bits=128 -mautovec-preference=sve-only test.c
Outputs:
0x4212a8
0x4212c0
0x4212d8
(nil)
0x421308
0x421320
0x421338
(nil)
0x421368
...
[etc]
This is because the scatter store address offset is incorrectly {0, 576}
instead of {0, 24}