42 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s3 4define i32 @test1(i32 %x) {5; CHECK-LABEL: test1:6; CHECK: # %bb.0: # %entry7; CHECK-NEXT: #APP8; CHECK-NEXT: .quad .Ltmp09; CHECK-NEXT: .quad .LBB0_110; CHECK-NEXT: #NO_APP11; CHECK-NEXT: .LBB0_1: # Inline asm indirect target12; CHECK-NEXT: # %bar13; CHECK-NEXT: # Label of block must be emitted14; CHECK-NEXT: pushq %rax15; CHECK-NEXT: .cfi_def_cfa_offset 1616; CHECK-NEXT: callq foo@PLT17; CHECK-NEXT: addq $8, %rsp18; CHECK-NEXT: .cfi_def_cfa_offset 819; CHECK-NEXT: .Ltmp0: # Block address taken20; CHECK-NEXT: # %bb.2: # %baz21; CHECK-NEXT: movl %eax, %edi22; CHECK-NEXT: jmp mux@PLT # TAILCALL23entry:24 callbr void asm sideeffect ".quad ${0:l}\0A\09.quad ${1:l}", "i,!i,~{dirflag},~{fpsr},~{flags}"(ptr blockaddress(@test1, %baz))25 to label %asm.fallthrough [label %bar]26 27asm.fallthrough:28 br label %bar29 30bar:31 %call = tail call i32 @foo(i32 %x)32 br label %baz33 34baz:35 %call1 = tail call i32 @mux(i32 %call)36 ret i32 %call137}38 39declare i32 @foo(i32)40 41declare i32 @mux(i32)42