brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.7 KiB · b44b11a Raw
90 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -mtriple=x86_64-unknown-linux -passes=slp-vectorizer -S -mcpu=corei7 | FileCheck %s3 4define i32 @main() {5; CHECK-LABEL: @main(6; CHECK-NEXT:  bb:7; CHECK-NEXT:    [[T:%.*]] = alloca <8 x i32>, align 328; CHECK-NEXT:    [[T2:%.*]] = alloca i32, align 49; CHECK-NEXT:    [[T5:%.*]] = getelementptr inbounds [8 x i32], ptr [[T]], i64 0, i64 110; CHECK-NEXT:    [[T6:%.*]] = getelementptr inbounds [8 x i32], ptr [[T]], i64 0, i64 211; CHECK-NEXT:    [[T7:%.*]] = getelementptr inbounds [8 x i32], ptr [[T]], i64 0, i64 312; CHECK-NEXT:    [[T8:%.*]] = getelementptr inbounds [8 x i32], ptr [[T]], i64 0, i64 413; CHECK-NEXT:    [[T9:%.*]] = getelementptr inbounds [8 x i32], ptr [[T]], i64 0, i64 614; CHECK-NEXT:    [[T10:%.*]] = getelementptr inbounds [8 x i32], ptr [[T]], i64 0, i64 515; CHECK-NEXT:    [[T11:%.*]] = getelementptr inbounds [8 x i32], ptr [[T]], i64 0, i64 716; CHECK-NEXT:    store <8 x i32> <i32 -221320154, i32 -756426931, i32 563883532, i32 382683935, i32 144890241, i32 -1052877364, i32 -1052877364, i32 -1016007675>, ptr [[T]], align 3217; CHECK-NEXT:    [[T13:%.*]] = load i32, ptr [[T]], align 3218; CHECK-NEXT:    [[T14:%.*]] = load i32, ptr [[T5]], align 419; CHECK-NEXT:    [[T15:%.*]] = icmp slt i32 [[T14]], [[T13]]20; CHECK-NEXT:    [[T16:%.*]] = select i1 [[T15]], i32 [[T14]], i32 [[T13]]21; CHECK-NEXT:    [[T17:%.*]] = zext i1 [[T15]] to i3222; CHECK-NEXT:    [[T18:%.*]] = load i32, ptr [[T6]], align 823; CHECK-NEXT:    [[T19:%.*]] = icmp slt i32 [[T18]], [[T16]]24; CHECK-NEXT:    [[T20:%.*]] = select i1 [[T19]], i32 [[T18]], i32 [[T16]]25; CHECK-NEXT:    [[T21:%.*]] = select i1 [[T19]], i32 2, i32 [[T16]]26; CHECK-NEXT:    [[T22:%.*]] = load i32, ptr [[T7]], align 427; CHECK-NEXT:    [[T23:%.*]] = icmp slt i32 [[T22]], [[T20]]28; CHECK-NEXT:    [[T24:%.*]] = select i1 [[T23]], i32 [[T22]], i32 [[T20]]29; CHECK-NEXT:    [[T25:%.*]] = select i1 [[T23]], i32 3, i32 [[T21]]30; CHECK-NEXT:    [[T26:%.*]] = load i32, ptr [[T8]], align 1631; CHECK-NEXT:    [[T27:%.*]] = icmp slt i32 [[T26]], [[T24]]32; CHECK-NEXT:    [[T28:%.*]] = select i1 [[T27]], i32 [[T26]], i32 [[T24]]33; CHECK-NEXT:    [[T29:%.*]] = select i1 [[T27]], i32 4, i32 [[T25]]34; CHECK-NEXT:    [[T30:%.*]] = load i32, ptr [[T10]], align 435; CHECK-NEXT:    [[T31:%.*]] = icmp slt i32 [[T30]], [[T28]]36; CHECK-NEXT:    [[T32:%.*]] = select i1 [[T31]], i32 [[T30]], i32 [[T28]]37; CHECK-NEXT:    [[T33:%.*]] = select i1 [[T31]], i32 5, i32 [[T29]]38; CHECK-NEXT:    [[T34:%.*]] = load i32, ptr [[T9]], align 839; CHECK-NEXT:    [[T35:%.*]] = icmp slt i32 [[T34]], [[T32]]40; CHECK-NEXT:    [[T36:%.*]] = select i1 [[T35]], i32 [[T34]], i32 [[T32]]41; CHECK-NEXT:    [[T37:%.*]] = select i1 [[T35]], i32 6, i32 [[T33]]42; CHECK-NEXT:    [[T38:%.*]] = load i32, ptr [[T11]], align 443; CHECK-NEXT:    [[T39:%.*]] = icmp slt i32 [[T38]], [[T36]]44; CHECK-NEXT:    [[T40:%.*]] = select i1 [[T39]], i32 7, i32 [[T37]]45; CHECK-NEXT:    store i32 [[T40]], ptr [[T2]], align 446; CHECK-NEXT:    ret i32 047;48bb:49  %t = alloca <8 x i32>, align 3250  %t2 = alloca i32, align 451  %t5 = getelementptr inbounds [8 x i32], ptr %t, i64 0, i64 152  %t6 = getelementptr inbounds [8 x i32], ptr %t, i64 0, i64 253  %t7 = getelementptr inbounds [8 x i32], ptr %t, i64 0, i64 354  %t8 = getelementptr inbounds [8 x i32], ptr %t, i64 0, i64 455  %t9 = getelementptr inbounds [8 x i32], ptr %t, i64 0, i64 656  %t10 = getelementptr inbounds [8 x i32], ptr %t, i64 0, i64 557  %t11 = getelementptr inbounds [8 x i32], ptr %t, i64 0, i64 758  store <8 x i32> <i32 -221320154, i32 -756426931, i32 563883532, i32 382683935, i32 144890241, i32 -1052877364, i32 -1052877364, i32 -1016007675>, ptr %t, align 3259  %t13 = load i32, ptr %t, align 3260  %t14 = load i32, ptr %t5, align 461  %t15 = icmp slt i32 %t14, %t1362  %t16 = select i1 %t15, i32 %t14, i32 %t1363  %t17 = zext i1 %t15 to i3264  %t18 = load i32, ptr %t6, align 865  %t19 = icmp slt i32 %t18, %t1666  %t20 = select i1 %t19, i32 %t18, i32 %t1667  %t21 = select i1 %t19, i32 2, i32 %t1668  %t22 = load i32, ptr %t7, align 469  %t23 = icmp slt i32 %t22, %t2070  %t24 = select i1 %t23, i32 %t22, i32 %t2071  %t25 = select i1 %t23, i32 3, i32 %t2172  %t26 = load i32, ptr %t8, align 1673  %t27 = icmp slt i32 %t26, %t2474  %t28 = select i1 %t27, i32 %t26, i32 %t2475  %t29 = select i1 %t27, i32 4, i32 %t2576  %t30 = load i32, ptr %t10, align 477  %t31 = icmp slt i32 %t30, %t2878  %t32 = select i1 %t31, i32 %t30, i32 %t2879  %t33 = select i1 %t31, i32 5, i32 %t2980  %t34 = load i32, ptr %t9, align 881  %t35 = icmp slt i32 %t34, %t3282  %t36 = select i1 %t35, i32 %t34, i32 %t3283  %t37 = select i1 %t35, i32 6, i32 %t3384  %t38 = load i32, ptr %t11, align 485  %t39 = icmp slt i32 %t38, %t3686  %t40 = select i1 %t39, i32 7, i32 %t3787  store i32 %t40, ptr %t2, align 488  ret i32 089}90