[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / Hexagon / dhry.ll
blob8fd4a5e4f801f3c1e7e9b747163833515532d576
1 ; RUN: llc -march=hexagon < %s | FileCheck %s
2 ; CHECK: combine(#11,#10)
4 ; Function Attrs: nounwind
5 define void @f0(i32* nocapture %a0, i32* nocapture %a1) #0 {
6 b0:
7   br label %b2
9 b1:                                               ; preds = %b4
10   br label %b5
12 b2:                                               ; preds = %b0
13   %v0 = getelementptr inbounds i32, i32* %a0, i32 2
14   %v1 = getelementptr inbounds i32, i32* %a0, i32 3
15   br label %b3
17 b3:                                               ; preds = %b2
18   br label %b4
20 b4:                                               ; preds = %b4, %b3
21   %v2 = load i32, i32* %v0, align 4, !tbaa !0
22   %v3 = load i32, i32* %v1, align 4, !tbaa !0
23   %v4 = tail call i32 @f1(i32 %v2, i32 %v3) #0
24   %v5 = icmp eq i32 %v4, 0
25   br i1 %v5, label %b4, label %b1
27 b5:                                               ; preds = %b1
28   %v6 = tail call i32 @f1(i32 10, i32 11) #0
29   ret void
32 declare i32 @f1(i32, i32)
34 attributes #0 = { nounwind "target-cpu"="hexagonv55" }
36 !0 = !{!1, !1, i64 0}
37 !1 = !{!"int", !2}
38 !2 = !{!"omnipotent char", !3}
39 !3 = !{!"Simple C/C++ TBAA"}