1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 3 2; RUN: opt -S --passes=slp-vectorizer -slp-threshold=-99999 -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s 3 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: br label [[BB13:%.*]] 11; CHECK: bb4: 12; CHECK-NEXT: [[TMP0:%.*]] = phi <2 x i32> [ poison, [[BB24:%.*]] ], [ [[TMP1:%.*]], [[BB13]] ] 13; CHECK-NEXT: br label [[BB1]] 14; CHECK: bb12: 15; CHECK-NEXT: br label [[BB13]] 16; CHECK: bb13: 17; CHECK-NEXT: [[TMP1]] = phi <2 x i32> [ zeroinitializer, [[BB1]] ], [ poison, [[BB12:%.*]] ] 18; CHECK-NEXT: [[TMP2:%.*]] = phi <8 x i32> [ zeroinitializer, [[BB1]] ], [ poison, [[BB12]] ] 19; CHECK-NEXT: br label [[BB4:%.*]] 20; CHECK: bb24: 21; CHECK-NEXT: br label [[BB4]] 22; 23bb: 24 br label %bb1 25 26bb1: 27 %0 = extractelement <2 x i32> zeroinitializer, i32 0 28 br label %bb13 29 30bb4: 31 %phi26 = phi i32 [ 0, %bb24 ], [ %phi14, %bb13 ] 32 %phi27 = phi i32 [ 0, %bb24 ], [ %phi16, %bb13 ] 33 br label %bb1 34 35bb12: 36 %add = add i32 0, 0 37 br label %bb13 38 39bb13: 40 %phi14 = phi i32 [ 0, %bb1 ], [ 0, %bb12 ] 41 %phi15 = phi i32 [ %0, %bb1 ], [ 0, %bb12 ] 42 %phi16 = phi i32 [ 0, %bb1 ], [ 0, %bb12 ] 43 %phi17 = phi i32 [ undef, %bb1 ], [ %arg, %bb12 ] 44 %phi18 = phi i32 [ undef, %bb1 ], [ %arg, %bb12 ] 45 %phi19 = phi i32 [ undef, %bb1 ], [ %arg, %bb12 ] 46 %phi20 = phi i32 [ undef, %bb1 ], [ %add, %bb12 ] 47 %phi21 = phi i32 [ undef, %bb1 ], [ 0, %bb12 ] 48 %phi22 = phi i32 [ undef, %bb1 ], [ 0, %bb12 ] 49 %phi23 = phi i32 [ undef, %bb1 ], [ 0, %bb12 ] 50 br label %bb4 51 52bb24: 53 br label %bb4 54} 55