1 ; RUN: llc -march=hexagon < %s | FileCheck %s 2 ; CHECK: !tstbit 3 4 ; Function Attrs: nounwind 5 define i32 @f0(i32 %a0, i32 %a1, i32 %a2) #0 { 6 b0: 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 12 b1: ; preds = %b0 13 tail call void bitcast (void (...)* @f1 to void ()*)() #0 14 br label %b3 15 16 b2: ; preds = %b0 17 %v3 = tail call i32 bitcast (i32 (...)* @f2 to i32 ()*)() #0 18 br label %b3 19 20 b3: ; 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 26 declare void @f1(...) 27 28 declare i32 @f2(...) 29 30 declare i32 @f3(...) 31 32 attributes #0 = { nounwind } 33