Documentation is pretty clear here: "Require a constant operand and print the constant expression with no punctuation." See the patches for further details.
1: fix asm() operand 'c' modifier handling 2: x86: fix asm() operand 'c' modifier handling Technically for x86 the 2nd patch alone ought to be sufficient to address the issue there. The first patch covers a sub-case more generally, for all targets not having special handling (e.g. RISC-V). Further per-target special casing may be necessary to fully support non-integer-literal operands. Jan