[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / llvm / test / Bitcode / callbr.ll
blobde9c8650d7df07f0a672b8c900ccd757ddea95f2
1 ; RUN:  llvm-dis < %s.bc | FileCheck %s --check-prefixes=CHECK,CHECK-TYPED
2 ; callbr.ll.bc was generated by passing this file to llvm-as.
4 ; RUN: llvm-as < %s | llvm-dis | FileCheck %s --check-prefixes=CHECK,CHECK-TYPED
5 ; RUN: llvm-as -opaque-pointers < %s | llvm-dis -opaque-pointers | FileCheck %s --check-prefixes=CHECK,CHECK-OPAQUE
7 define i32 @test_asm_goto(i32 %x){
8 entry:
9 ; CHECK: callbr void asm "", "r,!i"(i32 %x)
10 ; CHECK-NEXT: to label %normal [label %fail]
11   callbr void asm "", "r,!i"(i32 %x) to label %normal [label %fail]
12 normal:
13   ret i32 1
14 fail:
15   ret i32 0
18 define i32 @test_asm_goto2(i32 %x){
19 entry:
20 ; CHECK: callbr void asm "", "r,!i,!i"(i32 %x)
21 ; CHECK-NEXT: to label %normal [label %fail, label %fail2]
22   callbr void asm "", "r,!i,!i"(i32 %x) to label %normal [label %fail, label %fail2]
23 normal:
24   ret i32 1
25 fail:
26   ret i32 0
27 fail2:
28   ret i32 2
31 define i32 @test_asm_goto3(i32 %x){
32 entry:
33 ; CHECK-TYPED:      callbr void asm "", "r,i,!i"(i32 %x, i8* blockaddress(@test_asm_goto3, %unrelated))
34 ; CHECK-OPAQUE:     callbr void asm "", "r,i,!i"(i32 %x, ptr blockaddress(@test_asm_goto3, %unrelated))
35 ; CHECK-NEXT: to label %normal [label %fail]
36   callbr void asm "", "r,i,!i"(i32 %x, i8* blockaddress(@test_asm_goto3, %unrelated)) to label %normal [label %fail]
37 normal:
38   ret i32 1
39 fail:
40   ret i32 0
41 unrelated:
42   ret i32 2