https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119279
--- Comment #2 from Linus Torvalds <torva...@linux-foundation.org> --- (In reply to Andrew Pinski from comment #1) > > Why is the call needs to be done in the inline-asm? Typically it's the fallback alternative for when the primary inline asm doesn't work Ie the "real" asm may be something like a cmpxchg16b, but then it gets rewritten as a call if the CPU does not support that instruction. But sometimes it's an actual call, just with special calling conventions (eg firmware call to EFI or whatever).