1; RUN: llc < %s -march=arm -mattr=+vfp2 > %t 2; RUN: grep fmsr %t | count 4 3; RUN: grep fsitos %t 4; RUN: grep fmrs %t | count 2 5; RUN: grep fsitod %t 6; RUN: grep fmrrd %t | count 3 7; RUN: not grep fmdrr %t 8; RUN: grep fldd %t 9; RUN: grep fuitod %t 10; RUN: grep fuitos %t 11; RUN: grep 1065353216 %t 12 13define float @f(i32 %a) { 14entry: 15 %tmp = sitofp i32 %a to float ; <float> [#uses=1] 16 ret float %tmp 17} 18 19define double @g(i32 %a) { 20entry: 21 %tmp = sitofp i32 %a to double ; <double> [#uses=1] 22 ret double %tmp 23} 24 25define double @uint_to_double(i32 %a) { 26entry: 27 %tmp = uitofp i32 %a to double ; <double> [#uses=1] 28 ret double %tmp 29} 30 31define float @uint_to_float(i32 %a) { 32entry: 33 %tmp = uitofp i32 %a to float ; <float> [#uses=1] 34 ret float %tmp 35} 36 37define double @h(double* %v) { 38entry: 39 %tmp = load double* %v ; <double> [#uses=1] 40 ret double %tmp 41} 42 43define float @h2() { 44entry: 45 ret float 1.000000e+00 46} 47 48define double @f2(double %a) { 49 ret double %a 50} 51 52define void @f3() { 53entry: 54 %tmp = call double @f5( ) ; <double> [#uses=1] 55 call void @f4( double %tmp ) 56 ret void 57} 58 59declare void @f4(double) 60 61declare double @f5() 62 63