On Sun, Nov 05, 2017 at 12:12:31PM -0800, Linus Torvalds wrote: > On Sun, Nov 5, 2017 at 11:53 AM, Josh Poimboeuf <[email protected]> wrote: > > > > The GCC manual says: > > > > "asm statements that have no output operands, including asm goto > > statements, are implicitly volatile." > > Hmm. Fair enough. > > And the manual does say that it can merge and duplicate those asms > (and suggests using "%=" to generate a unique number, but I guess > "%c0" with __COUNTER__ is equivalent). > > I think the gcc manual has changed. I'm pretty certain it used to say > that "volatile" asms would not be "moved significantly". They've > silently changed semantics before too, oh well.
I had tried the '%=' thing before, because that was exactly what I needed. But alas, it's not supported by the older GCCs. -- Josh

