https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98847
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |10.2.1, 11.0 Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Keywords| |wrong-code Last reconfirmed| |2021-01-27 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- It works fine with the simple example below (and the asm spec gets silently ignored if you remove the register keyword) int main() { register int edx asm("edx"); return edx; } and I don't get any diagnostics for this case. Your example gets the diagnostic and the bogus behavior though.