; RUN: llc -mtriple=powerpc-unknown-linux-gnu -O1 < %s | FileCheck %s

; double x, y;
; 
; void foo1()
; {
;   x = y = 1.1;
;   for (int i = 0; i < 175; i++)
;     y = x + y;    
; }
; void foo2()
; {
;   x = y = 1.1;
;   for (int i = 0; i < 175; i++)
;     y = x - y;    
; }
; void foo3()
; {
;   x = y = 1.1;
;   for (int i = 0; i < 175; i++)
;     y = x * y;    
; }
; void foo4()
; {
;   x = y = 1.1;
;   for (int i = 0; i < 175; i++)
;     y = x / y;    
; }

target datalayout = "E-m:e-p:32:32-i64:64-n32"
target triple = "powerpc-buildroot-linux-gnu"

@y = common global double 0.000000e+00, align 8
@x = common global double 0.000000e+00, align 8

define void @foo1() #0 {
  store double 1.100000e+00, double* @y, align 8
  store double 1.100000e+00, double* @x, align 8
  br label %2

; <label>:1                                       ; preds = %2
  %.lcssa = phi double [ %4, %2 ]
  store double %.lcssa, double* @y, align 8
  ret void

; <label>:2                                       ; preds = %2, %0
  %3 = phi double [ 1.100000e+00, %0 ], [ %4, %2 ]
  %i.01 = phi i32 [ 0, %0 ], [ %5, %2 ]
  %4 = fadd double %3, 1.100000e+00
  %5 = add nuw nsw i32 %i.01, 1
  %exitcond = icmp eq i32 %5, 75
  br i1 %exitcond, label %1, label %2
  ; CHECK: bl __adddf3
  ; CHECK: cmplwi
  ; CHECK-NOT: li [[REG1:[0-9]+]], 175
  ; CHECK-NOT: mtctr [[REG1]]
}

define void @foo2() #0 {
  store double 1.100000e+00, double* @y, align 8
  store double 1.100000e+00, double* @x, align 8
  br label %2

; <label>:1                                       ; preds = %2
  %.lcssa = phi double [ %4, %2 ]
  store double %.lcssa, double* @y, align 8
  ret void

; <label>:2                                       ; preds = %2, %0
  %3 = phi double [ 1.100000e+00, %0 ], [ %4, %2 ]
  %i.01 = phi i32 [ 0, %0 ], [ %5, %2 ]
  %4 = fsub double 1.100000e+00, %3
  %5 = add nuw nsw i32 %i.01, 1
  %exitcond = icmp eq i32 %5, 75
  br i1 %exitcond, label %1, label %2
  ; CHECK: bl __subdf3
  ; CHECK: cmplwi
  ; CHECK-NOT: li [[REG1:[0-9]+]], 175
  ; CHECK-NOT: mtctr [[REG1]]
}

define void @foo3() #0 {
  store double 1.100000e+00, double* @y, align 8
  store double 1.100000e+00, double* @x, align 8
  br label %2

; <label>:1                                       ; preds = %2
  %.lcssa = phi double [ %4, %2 ]
  store double %.lcssa, double* @y, align 8
  ret void

; <label>:2                                       ; preds = %2, %0
  %3 = phi double [ 1.100000e+00, %0 ], [ %4, %2 ]
  %i.01 = phi i32 [ 0, %0 ], [ %5, %2 ]
  %4 = fmul double %3, 1.100000e+00
  %5 = add nuw nsw i32 %i.01, 1
  %exitcond = icmp eq i32 %5, 75
  br i1 %exitcond, label %1, label %2
  ; CHECK: bl __muldf3
  ; CHECK: cmplwi
  ; CHECK-NOT: li [[REG1:[0-9]+]], 175
  ; CHECK-NOT: mtctr [[REG1]]
}

define void @foo4() #0 {
  store double 1.100000e+00, double* @y, align 8
  store double 1.100000e+00, double* @x, align 8
  br label %2

; <label>:1                                       ; preds = %2
  %.lcssa = phi double [ %4, %2 ]
  store double %.lcssa, double* @y, align 8
  ret void

; <label>:2                                       ; preds = %2, %0
  %3 = phi double [ 1.100000e+00, %0 ], [ %4, %2 ]
  %i.01 = phi i32 [ 0, %0 ], [ %5, %2 ]
  %4 = fdiv double 1.100000e+00, %3
  %5 = add nuw nsw i32 %i.01, 1
  %exitcond = icmp eq i32 %5, 75
  br i1 %exitcond, label %1, label %2
  ; CHECK: bl __divdf3
  ; CHECK: cmplwi
  ; CHECK-NOT: li [[REG1:[0-9]+]], 175
  ; CHECK-NOT: mtctr [[REG1]]
}

attributes #0 = { "use-soft-float"="true" }

