brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.9 KiB · 9fecef2 Raw
110 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 22; RUN: opt -mtriple=x86_64-unknown-linux-gnu -passes=slp-vectorizer -S < %s | FileCheck %s3 4define void @test() {5; CHECK-LABEL: define void @test() {6; CHECK-NEXT:  entry:7; CHECK-NEXT:    [[IDX2:%.*]] = getelementptr [1000 x i64], ptr null, i64 0, i64 78; CHECK-NEXT:    [[TMP0:%.*]] = load <8 x i64>, ptr [[IDX2]], align 89; CHECK-NEXT:    [[TMP1:%.*]] = load <8 x i64>, ptr [[IDX2]], align 810; CHECK-NEXT:    [[TMP3:%.*]] = load i64, ptr null, align 811; CHECK-NEXT:    br label [[LOOP:%.*]]12; CHECK:       loop:13; CHECK-NEXT:    [[PHI1:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[OP_RDX25:%.*]], [[LOOP]] ]14; CHECK-NEXT:    [[TMP6:%.*]] = phi <8 x i64> [ [[TMP0]], [[ENTRY]] ], [ [[TMP1]], [[LOOP]] ]15; CHECK-NEXT:    [[TMP7:%.*]] = mul <8 x i64> [[TMP6]], splat (i64 4)16; CHECK-NEXT:    [[TMP5:%.*]] = mul <8 x i64> [[TMP1]], splat (i64 2)17; CHECK-NEXT:    [[RDX_OP:%.*]] = add <8 x i64> [[TMP7]], [[TMP5]]18; CHECK-NEXT:    [[OP_RDX16:%.*]] = call i64 @llvm.vector.reduce.add.v8i64(<8 x i64> [[RDX_OP]])19; CHECK-NEXT:    [[OP_RDX25]] = add i64 [[OP_RDX16]], [[TMP3]]20; CHECK-NEXT:    br label [[LOOP]]21;22entry:23  %idx1 = getelementptr [1000 x i64], ptr null, i64 0, i64 924  %idx2 = getelementptr [1000 x i64], ptr null, i64 0, i64 725  %ld1 = load i64, ptr %idx2, align 826  %idx3 = getelementptr [1000 x i64], ptr null, i64 0, i64 827  %ld2 = load i64, ptr %idx3, align 1628  %ld3 = load i64, ptr %idx1, align 829  %idx4 = getelementptr [1000 x i64], ptr null, i64 0, i64 1030  %ld4 = load i64, ptr %idx4, align 1631  %idx5 = getelementptr [1000 x i64], ptr null, i64 0, i64 1132  %ld5 = load i64, ptr %idx5, align 833  %idx6 = getelementptr [1000 x i64], ptr null, i64 0, i64 1234  %ld6 = load i64, ptr %idx6, align 1635  %idx7 = getelementptr [1000 x i64], ptr null, i64 0, i64 1336  %ld7 = load i64, ptr %idx7, align 837  %idx8 = getelementptr [1000 x i64], ptr null, i64 0, i64 1438  %ld8 = load i64, ptr %idx8, align 1639  %0 = load i64, ptr %idx2, align 840  %1 = load i64, ptr %idx3, align 1641  %2 = load i64, ptr %idx1, align 842  %3 = load i64, ptr %idx4, align 1643  %4 = load i64, ptr %idx5, align 844  %5 = load i64, ptr %idx6, align 1645  %6 = load i64, ptr %idx7, align 846  %7 = load i64, ptr %idx8, align 1647  %8 = load i64, ptr null, align 848  br label %loop49 50loop:                 ; preds = %loop, %entry51  %9 = phi i64 [ %ld8, %entry ], [ %7, %loop ]52  %10 = phi i64 [ %ld7, %entry ], [ %6, %loop ]53  %11 = phi i64 [ %ld6, %entry ], [ %5, %loop ]54  %12 = phi i64 [ %ld5, %entry ], [ %4, %loop ]55  %13 = phi i64 [ %ld4, %entry ], [ %3, %loop ]56  %14 = phi i64 [ %ld3, %entry ], [ %2, %loop ]57  %15 = phi i64 [ %ld2, %entry ], [ %1, %loop ]58  %16 = phi i64 [ %ld1, %entry ], [ %0, %loop ]59  %phi1 = phi i64 [ 0, %entry ], [ %64, %loop ]60  %17 = add i64 %16, %1561  %18 = add i64 %17, %1462  %19 = add i64 %18, %1363  %20 = add i64 %19, %1264  %21 = add i64 %20, %1165  %22 = add i64 %21, %1066  %23 = add i64 %22, %967  %24 = add i64 %23, %1668  %25 = add i64 %24, %1569  %26 = add i64 %25, %1470  %27 = add i64 %26, %1371  %28 = add i64 %27, %1272  %29 = add i64 %28, %1173  %30 = add i64 %29, %1074  %31 = add i64 %30, %975  %32 = add i64 %31, %1676  %33 = add i64 %32, %1577  %34 = add i64 %33, %1478  %35 = add i64 %34, %1379  %36 = add i64 %35, %1280  %37 = add i64 %36, %1181  %38 = add i64 %37, %1082  %39 = add i64 %38, %983  %40 = add i64 %39, %1684  %41 = add i64 %40, %1585  %42 = add i64 %41, %1486  %43 = add i64 %42, %1387  %44 = add i64 %43, %1288  %45 = add i64 %44, %1189  %46 = add i64 %45, %1090  %47 = add i64 %46, %991  %48 = add i64 %47, %092  %49 = add i64 %48, %193  %50 = add i64 %49, %294  %51 = add i64 %50, %395  %52 = add i64 %51, %496  %53 = add i64 %52, %597  %54 = add i64 %53, %698  %55 = add i64 %54, %799  %56 = add i64 %55, %8100  %57 = add i64 %56, %0101  %58 = add i64 %57, %1102  %59 = add i64 %58, %2103  %60 = add i64 %59, %3104  %61 = add i64 %60, %4105  %62 = add i64 %61, %5106  %63 = add i64 %62, %6107  %64 = add i64 %63, %7108  br label %loop109}110