[asm] Allow block address operands in `asm inteldialect`
authorNico Weber <thakis@chromium.org>
Thu, 18 Nov 2021 16:38:52 +0000 (11:38 -0500)
committerNico Weber <thakis@chromium.org>
Fri, 19 Nov 2021 14:27:30 +0000 (09:27 -0500)
commit8b76d33c593984a0fda6d756ee266d3eaa4b3b1b
treed3a2fe6f33a9f64b55f9618f1784c98275ca09d4
parentbc20bcb39e02e7b593fe0f50fe47959b635f5e56
[asm] Allow block address operands in `asm inteldialect`

This makes the following program build with -masm=intel:

    int foo(int count) {
      asm goto ("dec %0; jb %l[stop]" : "+r" (count) : : : stop);
      return count;
    stop:
      return 0;
    }

It's also is another step towards merging EmitGCCInlineAsmStr() and
EmitMSInlineAsmStr().

Differential Revision: https://reviews.llvm.org/D114167
llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
llvm/test/CodeGen/X86/callbr-asm.ll