brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · 477a818 Raw
78 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s3 4define void @test(i32 %arg) {5; CHECK-LABEL: define void @test(6; CHECK-SAME: i32 [[ARG:%.*]]) {7; CHECK-NEXT:  [[BB:.*]]:8; CHECK-NEXT:    br label %[[BB1:.*]]9; CHECK:       [[BB1]]:10; CHECK-NEXT:    [[PHI:%.*]] = phi i32 [ 0, %[[BB]] ], [ [[TMP5:%.*]], %[[BB1]] ]11; CHECK-NEXT:    [[PHI2:%.*]] = phi i32 [ 0, %[[BB]] ], [ [[ADD24:%.*]], %[[BB1]] ]12; CHECK-NEXT:    [[PHI3:%.*]] = phi i32 [ 0, %[[BB]] ], [ [[XOR26:%.*]], %[[BB1]] ]13; CHECK-NEXT:    [[ADD:%.*]] = add i32 [[PHI2]], 014; CHECK-NEXT:    [[ADD4:%.*]] = add i32 [[PHI2]], 015; CHECK-NEXT:    [[XOR:%.*]] = xor i32 [[ADD]], [[ADD4]]16; CHECK-NEXT:    [[ADD23:%.*]] = add i32 [[PHI]], 017; CHECK-NEXT:    [[ADD6:%.*]] = add i32 [[PHI2]], 018; CHECK-NEXT:    [[ADD7:%.*]] = add i32 [[PHI2]], 019; CHECK-NEXT:    [[XOR8:%.*]] = xor i32 [[ADD6]], [[XOR]]20; CHECK-NEXT:    [[XOR9:%.*]] = xor i32 [[XOR8]], [[ADD23]]21; CHECK-NEXT:    [[OP_RDX1:%.*]] = xor i32 [[XOR9]], [[ADD7]]22; CHECK-NEXT:    [[OP_RDX2:%.*]] = add i32 [[PHI]], 023; CHECK-NEXT:    [[OP_RDX:%.*]] = add i32 [[PHI2]], 024; CHECK-NEXT:    [[ADD13:%.*]] = add i32 [[PHI2]], 025; CHECK-NEXT:    [[OP_RDX3:%.*]] = xor i32 [[OP_RDX]], [[OP_RDX1]]26; CHECK-NEXT:    [[OP_RDX4:%.*]] = xor i32 [[OP_RDX3]], [[OP_RDX2]]27; CHECK-NEXT:    [[XOR16:%.*]] = xor i32 [[OP_RDX4]], [[ADD13]]28; CHECK-NEXT:    [[ADD17:%.*]] = add i32 [[PHI]], 029; CHECK-NEXT:    [[ADD18:%.*]] = add i32 [[PHI2]], 030; CHECK-NEXT:    [[ADD19:%.*]] = add i32 [[PHI2]], 031; CHECK-NEXT:    [[XOR20:%.*]] = xor i32 [[ADD18]], [[XOR16]]32; CHECK-NEXT:    [[XOR21:%.*]] = xor i32 [[XOR20]], [[ADD17]]33; CHECK-NEXT:    [[XOR22:%.*]] = xor i32 [[XOR21]], [[ADD19]]34; CHECK-NEXT:    [[ADD25:%.*]] = add i32 [[PHI2]], 035; CHECK-NEXT:    [[ADD24]] = add i32 [[ARG]], 036; CHECK-NEXT:    [[XOR25:%.*]] = xor i32 [[ADD25]], [[XOR22]]37; CHECK-NEXT:    [[XOR26]] = xor i32 [[XOR25]], [[ADD24]]38; CHECK-NEXT:    [[TMP5]] = add i32 1, 039; CHECK-NEXT:    [[ICMP:%.*]] = icmp ult i32 [[TMP5]], 040; CHECK-NEXT:    br label %[[BB1]]41;42bb:43  br label %bb144 45bb1:46  %phi = phi i32 [ 0, %bb ], [ %add27, %bb1 ]47  %phi2 = phi i32 [ 0, %bb ], [ %add24, %bb1 ]48  %phi3 = phi i32 [ 0, %bb ], [ %xor26, %bb1 ]49  %add = add i32 %phi2, 050  %add4 = add i32 %phi2, 051  %xor = xor i32 %add, %add452  %add5 = add i32 %phi, 053  %add6 = add i32 %phi2, 054  %add7 = add i32 %phi2, 055  %xor8 = xor i32 %add6, %xor56  %xor9 = xor i32 %xor8, %add557  %xor10 = xor i32 %xor9, %add758  %add11 = add i32 %phi, 059  %add12 = add i32 %phi2, 060  %add13 = add i32 %phi2, 061  %xor14 = xor i32 %add12, %xor1062  %xor15 = xor i32 %xor14, %add1163  %xor16 = xor i32 %xor15, %add1364  %add17 = add i32 %phi, 065  %add18 = add i32 %phi2, 066  %add19 = add i32 %phi2, 067  %xor20 = xor i32 %add18, %xor1668  %xor21 = xor i32 %xor20, %add1769  %xor22 = xor i32 %xor21, %add1970  %add23 = add i32 %phi2, 071  %add24 = add i32 %arg, 072  %xor25 = xor i32 %add23, %xor2273  %xor26 = xor i32 %xor25, %add2474  %add27 = add i32 1, 075  %icmp = icmp ult i32 %add27, 076  br label %bb177}78