| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: opt -S --passes=slp-vectorizer -mtriple=i386-pc-windows-msvc19.34.0 -mcpu=pentium4 < %s | FileCheck %s |
| |
| define i32 @test(double %mul321.i) { |
| ; CHECK-LABEL: define i32 @test( |
| ; CHECK-SAME: double [[MUL321_I:%.*]]) #[[ATTR0:[0-9]+]] { |
| ; CHECK-NEXT: [[ENTRY:.*]]: |
| ; CHECK-NEXT: br label %[[DO_BODY220_I:.*]] |
| ; CHECK: [[DO_BODY220_I]]: |
| ; CHECK-NEXT: [[C1_2_I:%.*]] = phi double [ [[MUL321_I]], %[[DO_BODY221_I:.*]] ], [ 0.000000e+00, %[[ENTRY]] ] |
| ; CHECK-NEXT: [[S1_1_I:%.*]] = phi double [ [[ADD318_I:%.*]], %[[DO_BODY221_I]] ], [ 0.000000e+00, %[[ENTRY]] ] |
| ; CHECK-NEXT: br label %[[DO_BODY221_I]] |
| ; CHECK: [[DO_BODY221_I]]: |
| ; CHECK-NEXT: [[SUB311_I1:%.*]] = fadd double [[C1_2_I]], 0.000000e+00 |
| ; CHECK-NEXT: [[ADD315_I:%.*]] = fadd double [[S1_1_I]], 0.000000e+00 |
| ; CHECK-NEXT: [[TMP4:%.*]] = fmul double [[SUB311_I1]], 0.000000e+00 |
| ; CHECK-NEXT: [[TMP5:%.*]] = fmul double [[ADD315_I]], 0.000000e+00 |
| ; CHECK-NEXT: [[ADD318_I]] = fadd double [[TMP4]], [[TMP5]] |
| ; CHECK-NEXT: br label %[[DO_BODY220_I]] |
| ; |
| entry: |
| br label %do.body220.i |
| |
| do.body220.i: |
| %c1.2.i = phi double [ %mul321.i, %do.body221.i ], [ 0.000000e+00, %entry ] |
| %s1.1.i = phi double [ %add318.i, %do.body221.i ], [ 0.000000e+00, %entry ] |
| br label %do.body221.i |
| |
| do.body221.i: ; preds = %do.body220.i |
| %sub311.i1 = fadd double %c1.2.i, 0.000000e+00 |
| %add315.i = fadd double %s1.1.i, 0.000000e+00 |
| %mul316.i = fmul double %sub311.i1, 0.000000e+00 |
| %mul317.i = fmul double %add315.i, 0.000000e+00 |
| %add318.i = fadd double %mul316.i, %mul317.i |
| br label %do.body220.i |
| } |