56 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -S -passes=slp-vectorizer -mtriple=x86_64-unknown-linux < %s | FileCheck %s3define void @test() {4; CHECK-LABEL: @test(5; CHECK-NEXT: bb:6; CHECK-NEXT: br i1 false, label [[PH:%.*]], label [[EXIT:%.*]]7; CHECK: ph:8; CHECK-NEXT: [[TMP0:%.*]] = call i8 @llvm.vector.reduce.and.v8i8(<8 x i8> zeroinitializer)9; CHECK-NEXT: [[OP_RDX:%.*]] = and i8 0, [[TMP0]]10; CHECK-NEXT: [[OP_RDX1:%.*]] = and i8 [[OP_RDX]], 011; CHECK-NEXT: br label [[EXIT]]12; CHECK: exit:13; CHECK-NEXT: [[PHI:%.*]] = phi i8 [ [[OP_RDX1]], [[PH]] ], [ 0, [[BB:%.*]] ]14; CHECK-NEXT: ret void15;16bb:17 br i1 false, label %ph, label %exit18 19ph:20 %add1 = add i8 0, 021 %add2 = add i8 %add1, 022 %add3 = add i8 %add1, 023 %add4 = add i8 %add1, 024 %add5 = add i8 %add1, 025 %add6 = add i8 %add1, 026 %add7 = add i8 %add1, 027 %add8 = add i8 %add1, 028 %add9 = add i8 0, 029 %add10 = add i8 0, %add930 %0 = and i8 %add10, %add331 %1 = and i8 %0, %add232 %2 = and i8 %1, %add433 %3 = and i8 %2, 034 %4 = and i8 %3, %add535 %5 = and i8 %4, %add636 %6 = and i8 %5, 037 %7 = and i8 %6, 038 %8 = and i8 %7, 039 %9 = and i8 %8, 040 %10 = and i8 %9, 041 %11 = and i8 %10, 042 %12 = and i8 %11, 043 %13 = and i8 %12, %add744 %14 = and i8 %13, %add845 %15 = and i8 %14, 046 %16 = and i8 %15, 047 %17 = and i8 %16, 048 %18 = and i8 %17, 049 %and = and i8 %18, %add150 br label %exit51 52exit:53 %phi = phi i8 [ %and, %ph ], [ 0, %bb ]54 ret void55}56