blob: 8c6d77e539c2d4040e7a24597d7212f207e0190d [file] [log] [blame]
Krzysztof Parzyszek046090d2018-03-12 14:01:28 +00001; RUN: llc -march=hexagon < %s | FileCheck %s
2; CHECK: !tstbit
3
4; Function Attrs: nounwind
5define i32 @f0(i32 %a0, i32 %a1, i32 %a2) #0 {
6b0:
7 %v0 = shl i32 1, %a2
8 %v1 = and i32 %v0, %a1
9 %v2 = icmp eq i32 %v1, 0
10 br i1 %v2, label %b2, label %b1
11
12b1: ; preds = %b0
13 tail call void bitcast (void (...)* @f1 to void ()*)() #0
14 br label %b3
15
16b2: ; preds = %b0
17 %v3 = tail call i32 bitcast (i32 (...)* @f2 to i32 ()*)() #0
18 br label %b3
19
20b3: ; preds = %b2, %b1
21 %v4 = add nsw i32 %a1, 2
22 %v5 = tail call i32 bitcast (i32 (...)* @f3 to i32 (i32, i32)*)(i32 %a0, i32 %v4) #0
23 ret i32 0
24}
25
26declare void @f1(...)
27
28declare i32 @f2(...)
29
30declare i32 @f3(...)
31
32attributes #0 = { nounwind }