https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106895
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> --- wQ is a memory constraint, not a register constraint. We have no way to express even/odd in register constraints. You can force it some other way? It's a lot easier if you use __atomic_* instead of inline asm? Like: void f(unsigned __int128 *addr, unsigned __int128 val) { __atomic_store_n(addr, val, __ATOMIC_RELAXED); } Please reopen if you want something in particular to be changed. Thanks!