| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 3 |
| ; RUN: opt -S --passes=slp-vectorizer -slp-threshold=-99999 -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s |
| |
| define void @test(i32 %arg) { |
| ; CHECK-LABEL: define void @test( |
| ; CHECK-SAME: i32 [[ARG:%.*]]) { |
| ; CHECK-NEXT: bb: |
| ; CHECK-NEXT: br label [[BB1:%.*]] |
| ; CHECK: bb1: |
| ; CHECK-NEXT: br label [[BB13:%.*]] |
| ; CHECK: bb4: |
| ; CHECK-NEXT: [[TMP0:%.*]] = phi <2 x i32> [ poison, [[BB24:%.*]] ], [ [[TMP1:%.*]], [[BB13]] ] |
| ; CHECK-NEXT: br label [[BB1]] |
| ; CHECK: bb12: |
| ; CHECK-NEXT: br label [[BB13]] |
| ; CHECK: bb13: |
| ; CHECK-NEXT: [[TMP1]] = phi <2 x i32> [ zeroinitializer, [[BB1]] ], [ poison, [[BB12:%.*]] ] |
| ; CHECK-NEXT: [[TMP2:%.*]] = phi <8 x i32> [ zeroinitializer, [[BB1]] ], [ poison, [[BB12]] ] |
| ; CHECK-NEXT: br label [[BB4:%.*]] |
| ; CHECK: bb24: |
| ; CHECK-NEXT: br label [[BB4]] |
| ; |
| bb: |
| br label %bb1 |
| |
| bb1: |
| %0 = extractelement <2 x i32> zeroinitializer, i32 0 |
| br label %bb13 |
| |
| bb4: |
| %phi26 = phi i32 [ 0, %bb24 ], [ %phi14, %bb13 ] |
| %phi27 = phi i32 [ 0, %bb24 ], [ %phi16, %bb13 ] |
| br label %bb1 |
| |
| bb12: |
| %add = add i32 0, 0 |
| br label %bb13 |
| |
| bb13: |
| %phi14 = phi i32 [ 0, %bb1 ], [ 0, %bb12 ] |
| %phi15 = phi i32 [ %0, %bb1 ], [ 0, %bb12 ] |
| %phi16 = phi i32 [ 0, %bb1 ], [ 0, %bb12 ] |
| %phi17 = phi i32 [ undef, %bb1 ], [ %arg, %bb12 ] |
| %phi18 = phi i32 [ undef, %bb1 ], [ %arg, %bb12 ] |
| %phi19 = phi i32 [ undef, %bb1 ], [ %arg, %bb12 ] |
| %phi20 = phi i32 [ undef, %bb1 ], [ %add, %bb12 ] |
| %phi21 = phi i32 [ undef, %bb1 ], [ 0, %bb12 ] |
| %phi22 = phi i32 [ undef, %bb1 ], [ 0, %bb12 ] |
| %phi23 = phi i32 [ undef, %bb1 ], [ 0, %bb12 ] |
| br label %bb4 |
| |
| bb24: |
| br label %bb4 |
| } |