https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77607
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- You want %qN. Some something like: {uint8x16_t _a, _b, _c, _d; __asm__("ldp %q0, %q1, %4\n\t" "ldp %q2, %q3, %4, #32\n\t" : "=w"(_a), "=w"(_b), "=w"(_c), "=w"(_d) : "Ump"(state.k) :); Oh by the way you really not need this. GCC should be able to use ldp in these cases if wanted by the target; though ldp for q registers is not yet implemented as most processors don't want them right now. Also your inline-asm is incorrect as you modify state.k. So really it should be something like: {uint8x16_t _a, _b, _c, _d; __asm__("ldp %q0, %q1, %4\n\t" "ldp %q2, %q3, %4, #32\n\t" : "=w"(_a), "=w"(_b), "=w"(_c), "=w"(_d) , "+Ump"(state.k) :);