blob: 405e44dfabf9b0ec27e6e3719730efca75078d9f [file]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu -mcpu=znver2 < %s | FileCheck %s
define void @test() {
; CHECK-LABEL: define void @test(
; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
; CHECK-NEXT: [[BB:.*]]:
; CHECK-NEXT: br label %[[BB8:.*]]
; CHECK: [[BB8]]:
; CHECK-NEXT: [[PHI:%.*]] = phi i32 [ [[OP_RDX:%.*]], %[[BB8]] ], [ 0, %[[BB]] ]
; CHECK-NEXT: [[TMP0:%.*]] = call i32 @llvm.vector.reduce.add.v4i32(<4 x i32> zeroinitializer)
; CHECK-NEXT: [[OP_RDX]] = add i32 0, [[TMP0]]
; CHECK-NEXT: br label %[[BB8]]
;
bb:
%xor = xor i32 0, 0
%mul = mul i32 %xor, 0
%add = add i32 %xor, %mul
%mul1 = mul i32 0, 0
%add2 = add i32 %add, %mul1
%xor3 = xor i32 0, 0
%add4 = add i32 %add2, %xor3
%mul5 = mul i32 %xor3, 0
%add6 = add i32 %add4, %mul5
%mul7 = mul i32 0, 0
br label %bb8
bb8:
%phi = phi i32 [ %add11, %bb8 ], [ 0, %bb ]
%add9 = add i32 %add6, 0
%add10 = add i32 %add9, 0
%add11 = add i32 %add10, %mul7
br label %bb8
}