https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103395
--- Comment #18 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Note that we document how the size of asm is estimated: https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html and unfortunately asm inline ("..." ...) makes the size estimation 0 only for inlining purposes and not for others too. So, for systemtap it is still desirable to use as few newlines/; characters in the pattern as possible. If one macro is used to handle 1-12 operands through recursions, one way to save a few newlines would be avoid all those other 5 macros, each one is used just once for each parameter and avoiding their .macro, .endm and .purgem lines will get rid of 15 lines... Similarly, not doing .pushsection/.popsection 3 times for each argument but just once would help etc.