Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc < %s -mtriple=armv7-apple-darwin10 -mattr=+vfp3
      2 
      3 @a = external global double		; <double*> [#uses=1]
      4 
      5 declare double @llvm.exp.f64(double) nounwind readonly
      6 
      7 define void @findratio(double* nocapture %res1, double* nocapture %res2) nounwind {
      8 entry:
      9 	br label %bb
     10 
     11 bb:		; preds = %bb, %entry
     12 	br i1 undef, label %bb28, label %bb
     13 
     14 bb28:		; preds = %bb
     15 	%0 = load double* @a, align 4		; <double> [#uses=2]
     16 	%1 = fadd double %0, undef		; <double> [#uses=2]
     17 	br i1 undef, label %bb59, label %bb60
     18 
     19 bb59:		; preds = %bb28
     20 	%2 = fsub double -0.000000e+00, undef		; <double> [#uses=2]
     21 	br label %bb61
     22 
     23 bb60:		; preds = %bb28
     24 	%3 = tail call double @llvm.exp.f64(double undef) nounwind		; <double> [#uses=1]
     25 	%4 = fsub double -0.000000e+00, %3		; <double> [#uses=2]
     26 	%5 = fsub double -0.000000e+00, undef		; <double> [#uses=1]
     27 	%6 = fsub double -0.000000e+00, undef		; <double> [#uses=1]
     28 	br label %bb61
     29 
     30 bb61:		; preds = %bb60, %bb59
     31 	%.pn201 = phi double [ undef, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     32 	%.pn111 = phi double [ undef, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     33 	%.pn452 = phi double [ undef, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     34 	%.pn85 = phi double [ undef, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     35 	%.pn238 = phi double [ 0.000000e+00, %bb59 ], [ 0.000000e+00, %bb60 ]		; <double> [#uses=1]
     36 	%.pn39 = phi double [ undef, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     37 	%.pn230 = phi double [ undef, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     38 	%.pn228 = phi double [ 0.000000e+00, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     39 	%.pn224 = phi double [ undef, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     40 	%.pn222 = phi double [ 0.000000e+00, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     41 	%.pn218 = phi double [ %2, %bb59 ], [ %4, %bb60 ]		; <double> [#uses=1]
     42 	%.pn214 = phi double [ 0.000000e+00, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     43 	%.pn212 = phi double [ %2, %bb59 ], [ %4, %bb60 ]		; <double> [#uses=1]
     44 	%.pn213 = phi double [ undef, %bb59 ], [ undef, %bb60 ]		; <double> [#uses=1]
     45 	%.pn210 = phi double [ undef, %bb59 ], [ %5, %bb60 ]		; <double> [#uses=1]
     46 	%.pn202 = phi double [ undef, %bb59 ], [ %6, %bb60 ]		; <double> [#uses=0]
     47 	%.pn390 = fdiv double %.pn452, undef		; <double> [#uses=0]
     48 	%.pn145 = fdiv double %.pn238, %1		; <double> [#uses=0]
     49 	%.pn138 = fdiv double %.pn230, undef		; <double> [#uses=1]
     50 	%.pn139 = fdiv double %.pn228, undef		; <double> [#uses=1]
     51 	%.pn134 = fdiv double %.pn224, %0		; <double> [#uses=1]
     52 	%.pn135 = fdiv double %.pn222, %1		; <double> [#uses=1]
     53 	%.pn133 = fdiv double %.pn218, undef		; <double> [#uses=0]
     54 	%.pn128 = fdiv double %.pn214, undef		; <double> [#uses=1]
     55 	%.pn129 = fdiv double %.pn212, %.pn213		; <double> [#uses=1]
     56 	%.pn126 = fdiv double %.pn210, undef		; <double> [#uses=0]
     57 	%.pn54.in = fmul double undef, %.pn201		; <double> [#uses=1]
     58 	%.pn42.in = fmul double undef, undef		; <double> [#uses=1]
     59 	%.pn76 = fsub double %.pn138, %.pn139		; <double> [#uses=1]
     60 	%.pn74 = fsub double %.pn134, %.pn135		; <double> [#uses=1]
     61 	%.pn70 = fsub double %.pn128, %.pn129		; <double> [#uses=1]
     62 	%.pn54 = fdiv double %.pn54.in, 6.000000e+00		; <double> [#uses=1]
     63 	%.pn64 = fmul double undef, 0x3FE5555555555555		; <double> [#uses=1]
     64 	%.pn65 = fmul double undef, undef		; <double> [#uses=1]
     65 	%.pn50 = fmul double undef, %.pn111		; <double> [#uses=0]
     66 	%.pn42 = fdiv double %.pn42.in, 6.000000e+00		; <double> [#uses=1]
     67 	%.pn40 = fmul double undef, %.pn85		; <double> [#uses=0]
     68 	%.pn56 = fadd double %.pn76, undef		; <double> [#uses=1]
     69 	%.pn57 = fmul double %.pn74, undef		; <double> [#uses=1]
     70 	%.pn36 = fadd double undef, undef		; <double> [#uses=1]
     71 	%.pn37 = fmul double %.pn70, undef		; <double> [#uses=1]
     72 	%.pn33 = fmul double undef, 0x3FC5555555555555		; <double> [#uses=1]
     73 	%.pn29 = fsub double %.pn64, %.pn65		; <double> [#uses=1]
     74 	%.pn21 = fadd double undef, undef		; <double> [#uses=1]
     75 	%.pn27 = fmul double undef, 0x3FC5555555555555		; <double> [#uses=1]
     76 	%.pn11 = fadd double %.pn56, %.pn57		; <double> [#uses=1]
     77 	%.pn32 = fmul double %.pn54, undef		; <double> [#uses=1]
     78 	%.pn26 = fmul double %.pn42, undef		; <double> [#uses=1]
     79 	%.pn15 = fmul double 0.000000e+00, %.pn39		; <double> [#uses=1]
     80 	%.pn7 = fadd double %.pn36, %.pn37		; <double> [#uses=1]
     81 	%.pn30 = fsub double %.pn32, %.pn33		; <double> [#uses=1]
     82 	%.pn28 = fadd double %.pn30, 0.000000e+00		; <double> [#uses=1]
     83 	%.pn24 = fsub double %.pn28, %.pn29		; <double> [#uses=1]
     84 	%.pn22 = fsub double %.pn26, %.pn27		; <double> [#uses=1]
     85 	%.pn20 = fadd double %.pn24, undef		; <double> [#uses=1]
     86 	%.pn18 = fadd double %.pn22, 0.000000e+00		; <double> [#uses=1]
     87 	%.pn16 = fsub double %.pn20, %.pn21		; <double> [#uses=1]
     88 	%.pn14 = fsub double %.pn18, undef		; <double> [#uses=1]
     89 	%.pn12 = fadd double %.pn16, undef		; <double> [#uses=1]
     90 	%.pn10 = fadd double %.pn14, %.pn15		; <double> [#uses=1]
     91 	%.pn8 = fsub double %.pn12, undef		; <double> [#uses=1]
     92 	%.pn6 = fsub double %.pn10, %.pn11		; <double> [#uses=1]
     93 	%.pn4 = fadd double %.pn8, undef		; <double> [#uses=1]
     94 	%.pn2 = fadd double %.pn6, %.pn7		; <double> [#uses=1]
     95 	%N1.0 = fsub double %.pn4, undef		; <double> [#uses=1]
     96 	%D1.0 = fsub double %.pn2, undef		; <double> [#uses=2]
     97 	br i1 undef, label %bb62, label %bb64
     98 
     99 bb62:		; preds = %bb61
    100 	%7 = fadd double %D1.0, undef		; <double> [#uses=1]
    101 	br label %bb64
    102 
    103 bb64:		; preds = %bb62, %bb61
    104 	%.pn = phi double [ undef, %bb62 ], [ %N1.0, %bb61 ]		; <double> [#uses=1]
    105 	%.pn1 = phi double [ %7, %bb62 ], [ %D1.0, %bb61 ]		; <double> [#uses=1]
    106 	%x.1 = fdiv double %.pn, %.pn1		; <double> [#uses=0]
    107 	ret void
    108 }
    109