|
| 1 | +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
| 2 | +; RUN: opt -slp-vectorizer -S -o - -mtriple=x86_64 < %s | FileCheck %s |
| 3 | + |
| 4 | +define void @main(i32 %x, i1 %b) { |
| 5 | +; CHECK-LABEL: @main( |
| 6 | +; CHECK-NEXT: entry: |
| 7 | +; CHECK-NEXT: br i1 [[B:%.*]], label [[L3:%.*]], label [[L1_THREAD:%.*]] |
| 8 | +; CHECK: L1: |
| 9 | +; CHECK-NEXT: br label [[L3]] |
| 10 | +; CHECK: L1.thread: |
| 11 | +; CHECK-NEXT: br label [[L3]] |
| 12 | +; CHECK: L3: |
| 13 | +; CHECK-NEXT: [[DOTPR21:%.*]] = phi i32 [ [[X:%.*]], [[ENTRY:%.*]] ], [ [[DOTPR21]], [[L1:%.*]] ], [ [[X]], [[L1_THREAD]] ] |
| 14 | +; CHECK-NEXT: [[DOTOLD_PR15:%.*]] = phi i32 [ [[X]], [[ENTRY]] ], [ 0, [[L1]] ], [ [[X]], [[L1_THREAD]] ] |
| 15 | +; CHECK-NEXT: [[H_1:%.*]] = phi i32 [ undef, [[ENTRY]] ], [ undef, [[L1]] ], [ undef, [[L1_THREAD]] ] |
| 16 | +; CHECK-NEXT: [[I_2:%.*]] = phi i32 [ 1, [[ENTRY]] ], [ [[I_2]], [[L1]] ], [ 1, [[L1_THREAD]] ] |
| 17 | +; CHECK-NEXT: [[K_3:%.*]] = phi i32 [ 0, [[ENTRY]] ], [ [[I_2]], [[L1]] ], [ 1, [[L1_THREAD]] ] |
| 18 | +; CHECK-NEXT: [[G_1:%.*]] = phi i32 [ undef, [[ENTRY]] ], [ [[O_1:%.*]], [[L1]] ], [ undef, [[L1_THREAD]] ] |
| 19 | +; CHECK-NEXT: [[M_3:%.*]] = phi i32 [ undef, [[ENTRY]] ], [ [[I_2]], [[L1]] ], [ 1, [[L1_THREAD]] ] |
| 20 | +; CHECK-NEXT: [[O_1]] = phi i32 [ undef, [[ENTRY]] ], [ [[O_1]], [[L1]] ], [ undef, [[L1_THREAD]] ] |
| 21 | +; CHECK-NEXT: br label [[L4:%.*]] |
| 22 | +; CHECK: L4: |
| 23 | +; CHECK-NEXT: br label [[L1]] |
| 24 | +; |
| 25 | +entry: |
| 26 | + br i1 %b, label %L3, label %L1.thread |
| 27 | + |
| 28 | +L1: |
| 29 | + br label %L3 |
| 30 | + |
| 31 | +L1.thread: |
| 32 | + br label %L3 |
| 33 | + |
| 34 | +L3: |
| 35 | + %.pr21 = phi i32 [ %x, %entry ], [ %.pr21, %L1 ], [ %x, %L1.thread ] |
| 36 | + %.old.pr15 = phi i32 [ %x, %entry ], [ 0, %L1 ], [ %x, %L1.thread ] |
| 37 | + %h.1 = phi i32 [ undef, %entry ], [ undef, %L1 ], [ undef, %L1.thread ] |
| 38 | + %i.2 = phi i32 [ 1, %entry ], [ %i.2, %L1 ], [ 1, %L1.thread ] |
| 39 | + %k.3 = phi i32 [ 0, %entry ], [ %i.2, %L1 ], [ 1, %L1.thread ] |
| 40 | + %g.1 = phi i32 [ undef, %entry ], [ %o.1, %L1 ], [ undef, %L1.thread ] |
| 41 | + %m.3 = phi i32 [ undef, %entry ], [ %i.2, %L1 ], [ 1, %L1.thread ] |
| 42 | + %o.1 = phi i32 [ undef, %entry ], [ %o.1, %L1 ], [ undef, %L1.thread ] |
| 43 | + br label %L4 |
| 44 | + |
| 45 | +L4: |
| 46 | + br label %L1 |
| 47 | +} |
0 commit comments