[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / llvm / test / CodeGen / X86 / callbr-asm-label-addr.ll
blob2af038db74bfd219572d71a0242c2713001c9dca
1 ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s
3 define i32 @test1(i32 %x) {
4 ; CHECK-LABEL: test1:
5 ; CHECK:         .quad .Ltmp0
6 ; CHECK-NEXT:    .quad .LBB0_1
7 ; CHECK:         .LBB0_1: # Block address taken
8 ; CHECK-NEXT:    # %bar
9 ; CHECK-NEXT:    # Label of block must be emitted
10 ; CHECK-NEXT:    callq foo
11 ; CHECK-NEXT: .Ltmp0:
12 ; CHECK-NEXT:  # %bb.2: # %baz
13 entry:
14   callbr void asm sideeffect ".quad ${0:l}\0A\09.quad ${1:l}", "i,!i,~{dirflag},~{fpsr},~{flags}"(ptr blockaddress(@test1, %baz))
15           to label %asm.fallthrough [label %bar]
17 asm.fallthrough:
18   br label %bar
20 bar:
21   %call = tail call i32 @foo(i32 %x)
22   br label %baz
24 baz:
25   %call1 = tail call i32 @mux(i32 %call)
26   ret i32 %call1
29 declare i32 @foo(i32)
31 declare i32 @mux(i32)