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}

Reply via email to