https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118976
--- Comment #6 from Luke Robison <lrbison at amazon dot com> --- Andrew, Thanks for taking a look. I actually had not realized that -msve-vector-bits=scalable is the only option guaranteed to produce correct execution on machines with other vector sizes. I need to make sure I include that in a few places, thank you. However, you and the documentation suggest that -msve-vector-bits=scalable should take precedence over the value in neoversev1.h, yet I'm still seeing the problem: gcc -Wall -Wextra -O3 -fno-strict-aliasing -mcpu=neoverse-v1 -msve-vector-bits=scalable final.c gcc:9 gives PASS: got 0x00bbbbbb 0x00aaaaaa as expected gcc:10 gives PASS: got 0x00bbbbbb 0x00aaaaaa as expected gcc:11 gives PASS: got 0x00bbbbbb 0x00aaaaaa as expected gcc:12.4 gives ERROR: expected 0x00bbbbbb 0x00aaaaaa but got 0x00bbbbbb 0xaaaaaa00 gcc:13.3 gives ERROR: expected 0x00bbbbbb 0x00aaaaaa but got 0x00bbbbbb 0xaaaaaa00 gcc:14.2 gives ERROR: expected 0x00bbbbbb 0x00aaaaaa but got 0x00bbbbbb 0xaaaaaa00