brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · af165de Raw
60 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu -mcpu=haswell < %s | FileCheck %s3 4define void @test(float %0) {5; CHECK-LABEL: define void @test(6; CHECK-SAME: float [[TMP0:%.*]]) #[[ATTR0:[0-9]+]] {7; CHECK-NEXT:    [[TMP4:%.*]] = insertelement <2 x float> <float poison, float 0.000000e+00>, float [[TMP0]], i32 08; CHECK-NEXT:    [[TMP6:%.*]] = shufflevector <2 x float> [[TMP4]], <2 x float> <float 0.000000e+00, float poison>, <2 x i32> <i32 2, i32 0>9; CHECK-NEXT:    [[TMP5:%.*]] = fdiv <2 x float> [[TMP4]], zeroinitializer10; CHECK-NEXT:    [[TMP3:%.*]] = fdiv <2 x float> [[TMP6]], zeroinitializer11; CHECK-NEXT:    br label %[[BB6:.*]]12; CHECK:       [[BB6]]:13; CHECK-NEXT:    [[TMP7:%.*]] = fmul <2 x float> [[TMP5]], zeroinitializer14; CHECK-NEXT:    [[TMP8:%.*]] = fsub <2 x float> zeroinitializer, [[TMP7]]15; CHECK-NEXT:    br label %[[BB10:.*]]16; CHECK:       [[BB9:.*]]:17; CHECK-NEXT:    br label %[[BB10]]18; CHECK:       [[BB10]]:19; CHECK-NEXT:    [[TMP11:%.*]] = phi <2 x float> [ [[TMP8]], %[[BB6]] ], [ poison, %[[BB9]] ]20; CHECK-NEXT:    br label %[[BB12:.*]]21; CHECK:       [[BB12]]:22; CHECK-NEXT:    [[TMP13:%.*]] = fmul <2 x float> [[TMP3]], zeroinitializer23; CHECK-NEXT:    [[TMP14:%.*]] = fsub <2 x float> [[TMP11]], [[TMP13]]24; CHECK-NEXT:    [[TMP15:%.*]] = extractelement <2 x float> [[TMP14]], i32 025; CHECK-NEXT:    [[TMP16:%.*]] = extractelement <2 x float> [[TMP14]], i32 126; CHECK-NEXT:    [[TMP17:%.*]] = fadd float [[TMP15]], [[TMP16]]27; CHECK-NEXT:    [[TMP18:%.*]] = call float @llvm.fabs.f32(float [[TMP17]])28; CHECK-NEXT:    ret void29;30  %2 = fdiv float 0.000000e+00, 0.000000e+0031  %3 = fdiv float 0.000000e+00, 0.000000e+0032  %4 = fdiv float %0, 0.000000e+0033  br label %534 355:36  %6 = fmul float %4, 0.000000e+0037  %7 = fsub float 0.000000e+00, %638  %8 = fmul float %3, 0.000000e+0039  %9 = fsub float 0.000000e+00, %840  br label %1141 4210:43  br label %1144 4511:46  %12 = phi float [ %7, %5 ], [ 0.000000e+00, %10 ]47  %13 = phi float [ %9, %5 ], [ 0.000000e+00, %10 ]48  br label %1449 5014:51  %15 = fmul float %2, 0.000000e+0052  %16 = fsub float %12, %1553  %17 = fmul float %4, 0.000000e+0054  %18 = fsub float %13, %1755  %19 = fadd float %16, %1856  %20 = call float @llvm.fabs.f32(float %19)57  ret void58}59 60