1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc < %s -mtriple=i686-- | FileCheck %s 3 4define void @foo(i32 %n, ptr nocapture %p) nounwind { 5; CHECK-LABEL: foo: 6; CHECK: # %bb.0: 7; CHECK-NEXT: movl {{[0-9]+}}(%esp), %eax 8; CHECK-NEXT: movl {{[0-9]+}}(%esp), %ecx 9; CHECK-NEXT: .p2align 4 10; CHECK-NEXT: .LBB0_1: # %bb 11; CHECK-NEXT: # =>This Inner Loop Header: Depth=1 12; CHECK-NEXT: fldl (%eax,%ecx,8) 13; CHECK-NEXT: fmull {{\.?LCPI[0-9]+_[0-9]+}} 14; CHECK-NEXT: fstpl (%eax,%ecx,8) 15; CHECK-NEXT: decl %ecx 16; CHECK-NEXT: js .LBB0_1 17; CHECK-NEXT: # %bb.2: # %return 18; CHECK-NEXT: retl 19 br label %bb 20 21bb: 22 %indvar = phi i32 [ 0, %0 ], [ %indvar.next, %bb ] 23 %i.03 = sub i32 %n, %indvar 24 %1 = getelementptr double, ptr %p, i32 %i.03 25 %2 = load double, ptr %1, align 4 26 %3 = fmul double %2, 2.930000e+00 27 store double %3, ptr %1, align 4 28 %4 = add i32 %i.03, -1 29 %phitmp = icmp slt i32 %4, 0 30 %indvar.next = add i32 %indvar, 1 31 br i1 %phitmp, label %bb, label %return 32 33return: 34 ret void 35} 36