https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103882
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> --- That is solely because you didn't write anything else in the function, try to put some code around the inline asm and you'll see how it will misbehave even with noipa attribute. Your code is invalid as documented in GCC documentation, the behavior is undefined, it can do anything, break with different optimization levels, different compiler versions or revisions, it can appear to work in some cases the way you intended, but it is still broken.