brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · eea22c1 Raw
41 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 22; RUN: opt -S -passes=slp-vectorizer -mattr=+avx -mtriple=x86_64 < %s | FileCheck %s3 4define void @test(i1 %arg) {5; CHECK-LABEL: define void @test6; CHECK-SAME: (i1 %arg) #[[ATTR0:[0-9]+]] {7; CHECK-NEXT:    br i1 %arg, label [[BB1:%.*]], label [[BB2:%.*]]8; CHECK:       bb1:9; CHECK-NEXT:    [[TMP1:%.*]] = call i32 @llvm.vector.reduce.mul.v8i32(<8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 undef, i32 undef, i32 undef, i32 undef>)10; CHECK-NEXT:    call void @f(i32 noundef [[TMP1]])11; CHECK-NEXT:    br label [[BB2]]12; CHECK:       bb2:13; CHECK-NEXT:    ret void14;15  %i27 = extractelement <4 x i32> poison, i64 016  %i28 = extractelement <4 x i32> poison, i64 117  %i29 = extractelement <4 x i32> poison, i64 218  %i30 = extractelement <4 x i32> poison, i64 319  %i31 = extractelement <4 x i32> zeroinitializer, i64 020  %i32 = extractelement <4 x i32> zeroinitializer, i64 121  %i33 = extractelement <4 x i32> zeroinitializer, i64 222  %i34 = extractelement <4 x i32> zeroinitializer, i64 323  br i1 %arg, label %bb1, label %bb224 25bb1:26  %i11 = mul nsw i32 %i28, %i2727  %i12 = mul nsw i32 %i11, %i2928  %i13 = mul nsw i32 %i12, %i3029  %i14 = mul nsw i32 %i13, %i3130  %i15 = mul nsw i32 %i14, %i3231  %i16 = mul nsw i32 %i15, %i3332  %i17 = mul nsw i32 %i16, %i3433  call void @f(i32 noundef %i17)34  br label %bb235 36bb2:37  ret void38}39 40declare void @f(i32)41