https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117344
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ra Ever confirmed|0 |1 Last reconfirmed| |2024-10-29 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. This looks like an RA issue with return and argument passing with respect of hard registers. Adding `asm("":"+w"(b));` Like: ``` #include <arm_sve.h> svint32_t foo(svbool_t pg, svint32_t a, svint32_t b) { b = svadd_m (pg, b, a); asm("":"+w"(b)); return b; } ``` Works around the issue.