1*57add3e4SEvan Cheng; RUN: llc < %s -mtriple=armv7-apple-ios -mattr=+vfp2 | FileCheck %s 2*57add3e4SEvan Cheng 3*57add3e4SEvan Chengdefine fastcc double @t1(double %d0, double %d1, double %d2, double %d3, double %d4, double %d5, double %d6, double %d7, float %a, float %b) { 4*57add3e4SEvan Chengentry: 5*57add3e4SEvan Cheng; CHECK-LABEL: t1: 6*57add3e4SEvan Cheng; CHECK-NOT: vmov 7*57add3e4SEvan Cheng; CHECK: vldr 8*57add3e4SEvan Cheng %add = fadd float %a, %b 9*57add3e4SEvan Cheng %conv = fpext float %add to double 10*57add3e4SEvan Cheng ret double %conv 11*57add3e4SEvan Cheng} 12*57add3e4SEvan Cheng 13*57add3e4SEvan Chengdefine fastcc double @t2(double %d0, double %d1, double %d2, double %d3, double %d4, double %d5, double %a, float %b, double %c) { 14*57add3e4SEvan Chengentry: 15*57add3e4SEvan Cheng; CHECK-LABEL: t2: 16*57add3e4SEvan Cheng; CHECK-NOT: vmov 17*57add3e4SEvan Cheng; CHECK: vldr 18*57add3e4SEvan Cheng %add = fadd double %a, %c 19*57add3e4SEvan Cheng ret double %add 20*57add3e4SEvan Cheng} 21*57add3e4SEvan Cheng 22*57add3e4SEvan Chengdefine fastcc float @t3(double %d0, double %d1, double %d2, double %d3, double %d4, double %d5, double %d6, float %a, double %b, float %c) { 23*57add3e4SEvan Chengentry: 24*57add3e4SEvan Cheng; CHECK-LABEL: t3: 25*57add3e4SEvan Cheng; CHECK: vldr 26*57add3e4SEvan Cheng %add = fadd float %a, %c 27*57add3e4SEvan Cheng ret float %add 28*57add3e4SEvan Cheng} 29*57add3e4SEvan Cheng 30*57add3e4SEvan Chengdefine fastcc double @t4(double %a, double %b) #0 { 31*57add3e4SEvan Chengentry: 32*57add3e4SEvan Cheng; CHECK-LABEL: t4: 33*57add3e4SEvan Cheng; CHECK: vstr 34*57add3e4SEvan Cheng %add = fadd double %a, %b 35*57add3e4SEvan Cheng %sub = fsub double %a, %b 36*57add3e4SEvan Cheng %call = tail call fastcc double @x(double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double 0.000000e+00, double %add, float 0.000000e+00, double %sub) #2 37*57add3e4SEvan Cheng ret double %call 38*57add3e4SEvan Cheng} 39*57add3e4SEvan Cheng 40*57add3e4SEvan Chengdeclare fastcc double @x(double, double, double, double, double, double, double, float, double) 41