73 lines · plain
1; RUN: llc -O2 -mtriple=hexagon < %s | FileCheck %s2; CHECK-NOT: memw3; CHECK: memub4 5target triple = "hexagon"6 7%s.0 = type <{ i8, %s.1 }>8%s.1 = type { [16 x i32] }9 10; Function Attrs: nounwind11define i32 @f0(i32 %a0, ptr nocapture %a1) #0 {12b0:13 %v0 = icmp sgt i32 %a0, 014 br i1 %v0, label %b1, label %b1015 16b1: ; preds = %b017 br label %b418 19b2: ; preds = %b420 br i1 %v0, label %b3, label %b1021 22b3: ; preds = %b223 br label %b724 25b4: ; preds = %b4, %b126 %v1 = phi i32 [ %v6, %b4 ], [ 0, %b1 ]27 %v2 = phi i32 [ %v5, %b4 ], [ 0, %b1 ]28 %v3 = getelementptr inbounds %s.0, ptr %a1, i32 0, i32 1, i32 0, i32 %v129 %v4 = load i32, ptr %v3, align 1, !tbaa !030 %v5 = add nsw i32 %v4, %v231 %v6 = add nsw i32 %v1, 132 %v7 = icmp eq i32 %v6, %a033 br i1 %v7, label %b2, label %b434 35b5: ; preds = %b736 br i1 %v0, label %b6, label %b1037 38b6: ; preds = %b539 br label %b840 41b7: ; preds = %b7, %b342 %v8 = phi i32 [ %v13, %b7 ], [ 0, %b3 ]43 %v9 = phi i32 [ %v12, %b7 ], [ %v5, %b3 ]44 %v10 = getelementptr inbounds %s.0, ptr %a1, i32 0, i32 1, i32 0, i32 %v845 %v11 = load i32, ptr %v10, align 1, !tbaa !046 %v12 = add nsw i32 %v11, %v947 %v13 = add nsw i32 %v8, 148 %v14 = icmp eq i32 %v13, %a049 br i1 %v14, label %b5, label %b750 51b8: ; preds = %b8, %b652 %v15 = phi i32 [ %v17, %b8 ], [ 0, %b6 ]53 %v16 = getelementptr inbounds %s.0, ptr %a1, i32 0, i32 1, i32 0, i32 %v1554 store i32 %a0, ptr %v16, align 1, !tbaa !055 %v17 = add nsw i32 %v15, 156 %v18 = icmp eq i32 %v17, %a057 br i1 %v18, label %b9, label %b858 59b9: ; preds = %b860 br label %b1061 62b10: ; preds = %b9, %b5, %b2, %b063 %v19 = phi i32 [ %v12, %b5 ], [ %v5, %b2 ], [ 0, %b0 ], [ %v12, %b9 ]64 ret i32 %v1965}66 67attributes #0 = { nounwind }68 69!0 = !{!1, !1, i64 0}70!1 = !{!"int", !2}71!2 = !{!"omnipotent char", !3}72!3 = !{!"Simple C/C++ TBAA"}73