brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.3 KiB · 614184e Raw
92 lines · plain
1; RUN: opt -passes=loop-vectorize -hexagon-autohvx -debug-only=loop-vectorize -S < %s 2>&1 | FileCheck %s2; REQUIRES: asserts3 4; Check that the cost model makes vectorization non-profitable.5; CHECK: LV: Vectorization is possible but not beneficial6 7target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048"8target triple = "hexagon"9 10define void @f0(ptr nocapture readonly %a0, ptr nocapture %a1, i32 %a2, i32 %a3, i32 %a4, float %a5, float %a6) #0 {11b0:12  %v0 = icmp sgt i32 %a2, 013  br i1 %v0, label %b1, label %b214 15b1:                                               ; preds = %b016  %v1 = add nsw i32 %a3, -117  %v2 = sitofp i32 %v1 to float18  %v3 = fcmp olt float %v2, %a619  %v4 = select i1 %v3, float %v2, float %a620  %v5 = sitofp i32 %a4 to float21  %v6 = fmul float %v4, %v522  %v7 = sitofp i32 %a2 to float23  %v8 = fmul float %v6, %v724  %v9 = add nsw i32 %a4, -125  %v10 = sitofp i32 %v9 to float26  %v11 = fcmp olt float %v10, %a527  %v12 = select i1 %v11, float %v10, float %a528  %v13 = fmul float %v12, %v729  %v14 = fadd float %v13, %v830  %v15 = fptosi float %v14 to i3231  %v16 = fadd float %a5, 1.000000e+0032  %v17 = fcmp ogt float %v16, %v1033  %v18 = select i1 %v17, float %v10, float %v1634  %v19 = fmul float %v18, %v735  %v20 = fadd float %v19, %v836  %v21 = fptosi float %v20 to i3237  %v22 = fadd float %a6, 1.000000e+0038  %v23 = fcmp ogt float %v22, %v239  %v24 = select i1 %v23, float %v2, float %v2240  %v25 = fmul float %v24, %v541  %v26 = fmul float %v25, %v742  %v27 = fadd float %v13, %v2643  %v28 = fptosi float %v27 to i3244  %v29 = fadd float %v19, %v2645  %v30 = fptosi float %v29 to i3246  br label %b347 48b2:                                               ; preds = %b3, %b049  ret void50 51b3:                                               ; preds = %b3, %b152  %v31 = phi i32 [ 0, %b1 ], [ %v60, %b3 ]53  %v32 = add nsw i32 %v31, %v1554  %v33 = getelementptr inbounds i8, ptr %a0, i32 %v3255  %v34 = load i8, ptr %v33, align 1, !tbaa !056  %v35 = add nsw i32 %v31, %v2157  %v36 = getelementptr inbounds i8, ptr %a0, i32 %v3558  %v37 = load i8, ptr %v36, align 1, !tbaa !059  %v38 = add nsw i32 %v31, %v2860  %v39 = getelementptr inbounds i8, ptr %a0, i32 %v3861  %v40 = load i8, ptr %v39, align 1, !tbaa !062  %v41 = add nsw i32 %v31, %v3063  %v42 = getelementptr inbounds i8, ptr %a0, i32 %v4164  %v43 = load i8, ptr %v42, align 1, !tbaa !065  %v44 = uitofp i8 %v34 to float66  %v45 = uitofp i8 %v37 to float67  %v46 = uitofp i8 %v40 to float68  %v47 = uitofp i8 %v43 to float69  %v48 = fsub float %v45, %v4470  %v49 = fmul float %v48, 0x3FD99999A000000071  %v50 = fadd float %v49, %v4472  %v51 = fsub float %v47, %v4673  %v52 = fmul float %v51, 0x3FD99999A000000074  %v53 = fadd float %v52, %v4675  %v54 = fsub float %v53, %v5076  %v55 = fmul float %v54, 0x3FD99999A000000077  %v56 = fadd float %v50, %v5578  %v57 = fadd float %v56, 5.000000e-0179  %v58 = fptoui float %v57 to i880  %v59 = getelementptr inbounds i8, ptr %a1, i32 %v3181  store i8 %v58, ptr %v59, align 1, !tbaa !082  %v60 = add nuw nsw i32 %v31, 183  %v61 = icmp eq i32 %v60, %a284  br i1 %v61, label %b2, label %b385}86 87attributes #0 = { norecurse nounwind "target-cpu"="hexagonv65" "target-features"="+hvx-length128b,+hvxv65" }88 89!0 = !{!1, !1, i64 0}90!1 = !{!"omnipotent char", !2, i64 0}91!2 = !{!"Simple C/C++ TBAA"}92