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