https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120351
--- Comment #2 from Sam James <sjames at gcc dot gnu.org> --- ``` # diff -u <(g++-14 /tmp/a.cxx -O2 -S -mfpu=neon -o -) <(g++-15 /tmp/a.cxx -O2 -S -mfpu=neon -o -) --- /dev/fd/63 2025-05-19 10:57:07.663372453 -0000 +++ /dev/fd/62 2025-05-19 10:57:07.666705782 -0000 @@ -31,10 +31,9 @@ .pad #32 sub sp, sp, #32 ldr r3, .L7+4 - add r4, sp, #20 + add r0, sp, #20 .LPIC0: add r2, pc, r2 - mov r0, r4 ldr r3, [r2, r3] ldr r3, [r3] str r3, [sp, #28] @@ -43,16 +42,15 @@ mov r0, sp bl _ZN1BC1Ev(PLT) vldr d7, [sp] - vmov r3, s14 @ int vstr d7, [sp, #8] .L3: - ldrex r1, [r3] + ldrex r1, [s14] add r1, r1, #1 - strex r2, r1, [r3] + strex r2, r1, [s14] cmp r2, #0 bne .L3 add r1, sp, #8 - mov r0, r4 + add r0, sp, #20 bl _ZN1B9insertOneES_(PLT) ldr r2, .L7+8 ldr r3, .L7+4 ```