67 lines · plain
1; RUN: llc -mtriple=hexagon -hexagon-initial-cfg-cleanup=0 < %s | FileCheck %s2 3; Check for successful compilation.4; CHECK: vmem5 6target triple = "hexagon"7 8; Function Attrs: nounwind9define dso_local void @f0(ptr %a0, ptr %a1) local_unnamed_addr #0 {10b0:11 br label %b112 13b1: ; preds = %b1, %b014 %v0 = phi i32 [ %v18, %b1 ], [ 0, %b0 ]15 %v1 = getelementptr inbounds i8, ptr %a1, i32 %v016 %v2 = load <64 x i8>, ptr undef, align 1, !tbaa !0, !alias.scope !317 %v3 = add <64 x i8> zeroinitializer, %v218 %v4 = getelementptr inbounds i8, ptr %a0, i32 undef19 %v5 = getelementptr inbounds i8, ptr %a0, i32 undef20 %v6 = getelementptr inbounds i8, ptr %a0, i32 undef21 store i8 0, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !822 %v7 = extractelement <64 x i8> %v3, i32 1223 store i8 %v7, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !824 store i8 0, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !825 store i8 undef, ptr %v4, align 1, !tbaa !0, !alias.scope !6, !noalias !826 store i8 0, ptr %v5, align 1, !tbaa !0, !alias.scope !6, !noalias !827 store i8 0, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !828 %v8 = extractelement <64 x i8> %v3, i32 3629 store i8 %v8, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !830 store i8 0, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !831 %v9 = extractelement <64 x i8> %v3, i32 3832 store i8 %v9, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !833 store i8 0, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !834 %v10 = extractelement <64 x i8> %v3, i32 4135 store i8 %v10, ptr %v6, align 1, !tbaa !0, !alias.scope !6, !noalias !836 store i8 0, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !837 store i8 undef, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !838 %v11 = extractelement <64 x i8> %v3, i32 5539 store i8 %v11, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !840 store i8 0, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !841 %v12 = extractelement <64 x i8> %v3, i32 5842 store i8 %v12, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !843 store i8 0, ptr undef, align 1, !tbaa !0, !alias.scope !6, !noalias !844 %v14 = load <64 x i8>, ptr %v1, align 1, !tbaa !0, !alias.scope !345 %v15 = add <64 x i8> zeroinitializer, %v1446 %v16 = getelementptr inbounds i8, ptr %a0, i32 undef47 %v17 = extractelement <64 x i8> %v15, i32 2348 store i8 %v17, ptr %v16, align 1, !tbaa !0, !alias.scope !6, !noalias !849 %v18 = add i32 %v0, 6450 br label %b151}52 53attributes #0 = { nounwind "target-cpu"="hexagonv60" "target-features"="+hvx-length64b,+hvxv60" }54 55!0 = !{!1, !1, i64 0}56!1 = !{!"omnipotent char", !2, i64 0}57!2 = !{!"Simple C/C++ TBAA"}58!3 = !{!4}59!4 = distinct !{!4, !5}60!5 = distinct !{!5, !"LVerDomain"}61!6 = !{!7}62!7 = distinct !{!7, !5}63!8 = !{!4, !9, !10, !11}64!9 = distinct !{!9, !5}65!10 = distinct !{!10, !5}66!11 = distinct !{!11, !5}67