[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / X86 / callbr-asm-label-addr.ll
blobdc0e83634658ac08dc2fddd400c6fd3ee30de266
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 .Ltmp1
7 ; CHECK-LABEL: .Ltmp1:
8 ; CHECK-LABEL: .LBB0_1: # %bar
9 ; CHECK-NEXT:    callq foo
10 ; CHECK-LABEL: .Ltmp0:
11 ; CHECK-NEXT:  # %bb.2: # %baz
12 entry:
13   callbr void asm sideeffect ".quad ${0:l}\0A\09.quad ${1:l}", "i,X,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@test1, %baz), i8* blockaddress(@test1, %bar))
14           to label %asm.fallthrough [label %bar]
16 asm.fallthrough:
17   br label %bar
19 bar:
20   %call = tail call i32 @foo(i32 %x)
21   br label %baz
23 baz:
24   %call1 = tail call i32 @mux(i32 %call)
25   ret i32 %call1
28 declare i32 @foo(i32)
30 declare i32 @mux(i32)