| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu -slp-threshold=-99999 < %s | FileCheck %s |
| |
| define i32 @test(i32 %0) { |
| ; CHECK-LABEL: define i32 @test( |
| ; CHECK-SAME: i32 [[TMP0:%.*]]) { |
| ; CHECK-NEXT: [[ENTRY:.*]]: |
| ; CHECK-NEXT: [[TMP1:%.*]] = insertelement <2 x i32> <i32 0, i32 poison>, i32 [[TMP0]], i32 1 |
| ; CHECK-NEXT: switch i32 0, label %[[BCI_130:.*]] [ |
| ; CHECK-NEXT: i32 -4, label %[[BCI_96:.*]] |
| ; CHECK-NEXT: i32 3, label %[[BCI_130]] |
| ; CHECK-NEXT: i32 1, label %[[BCI_130]] |
| ; CHECK-NEXT: i32 9, label %[[BCI_108:.*]] |
| ; CHECK-NEXT: i32 0, label %[[BCI_130]] |
| ; CHECK-NEXT: ] |
| ; CHECK: [[BCI_130]]: |
| ; CHECK-NEXT: [[TMP2:%.*]] = phi <2 x i32> [ zeroinitializer, %[[BCI_108]] ], [ [[TMP1]], %[[BCI_96]] ], [ [[TMP1]], %[[ENTRY]] ], [ [[TMP1]], %[[ENTRY]] ], [ [[TMP1]], %[[ENTRY]] ], [ [[TMP1]], %[[ENTRY]] ] |
| ; CHECK-NEXT: ret i32 0 |
| ; CHECK: [[BCI_108]]: |
| ; CHECK-NEXT: br label %[[BCI_130]] |
| ; CHECK: [[BCI_96]]: |
| ; CHECK-NEXT: br label %[[BCI_130]] |
| ; |
| entry: |
| switch i32 0, label %bci_130 [ |
| i32 -4, label %bci_96 |
| i32 3, label %bci_130 |
| i32 1, label %bci_130 |
| i32 9, label %bci_108 |
| i32 0, label %bci_130 |
| ] |
| |
| bci_130: |
| %1 = phi i32 [ 0, %bci_108 ], [ %0, %bci_96 ], [ %0, %entry ], [ %0, %entry ], [ %0, %entry ], [ %0, %entry ] |
| %local_2_10 = phi i32 [ 0, %bci_108 ], [ 0, %bci_96 ], [ 0, %entry ], [ 0, %entry ], [ 0, %entry ], [ 0, %entry ] |
| ret i32 0 |
| |
| bci_108: |
| br label %bci_130 |
| |
| bci_96: |
| br label %bci_130 |
| } |