1; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s | FileCheck %s 2; RUN: llc -mtriple thumbv7-windows-msvc -filetype asm -o - %s | FileCheck %s 3 4define arm_aapcs_vfpcc i32 @sdiv32(i32 %divisor, i32 %divident) { 5entry: 6 %div = sdiv i32 %divident, %divisor 7 ret i32 %div 8} 9 10; CHECK-LABEL: sdiv32 11; CHECK: b __rt_sdiv 12 13define arm_aapcs_vfpcc i64 @sdiv64(i64 %divisor, i64 %divident) { 14entry: 15 %div = sdiv i64 %divident, %divisor 16 ret i64 %div 17} 18 19; CHECK-LABEL: sdiv64 20; CHECK: bl __rt_sdiv64 21 22define arm_aapcs_vfpcc i64 @stoi64(float %f) { 23entry: 24 %conv = fptosi float %f to i64 25 ret i64 %conv 26} 27 28; CHECK-LABEL: stoi64 29; CHECK: bl __stoi64 30 31define arm_aapcs_vfpcc i64 @stou64(float %f) { 32entry: 33 %conv = fptoui float %f to i64 34 ret i64 %conv 35} 36 37; CHECK-LABEL: stou64 38; CHECK: bl __stou64 39 40define arm_aapcs_vfpcc float @i64tos(i64 %i64) { 41entry: 42 %conv = sitofp i64 %i64 to float 43 ret float %conv 44} 45 46; CHECK-LABEL: i64tos 47; CHECK: bl __i64tos 48 49define arm_aapcs_vfpcc float @u64tos(i64 %u64) { 50entry: 51 %conv = uitofp i64 %u64 to float 52 ret float %conv 53} 54 55; CHECK-LABEL: u64tos 56; CHECK: bl __u64tos 57 58define arm_aapcs_vfpcc i64 @dtoi64(double %d) { 59entry: 60 %conv = fptosi double %d to i64 61 ret i64 %conv 62} 63 64; CHECK-LABEL: dtoi64 65; CHECK: bl __dtoi64 66 67define arm_aapcs_vfpcc i64 @dtou64(double %d) { 68entry: 69 %conv = fptoui double %d to i64 70 ret i64 %conv 71} 72 73; CHECK-LABEL: dtou64 74; CHECK: bl __dtou64 75 76define arm_aapcs_vfpcc double @i64tod(i64 %i64) { 77entry: 78 %conv = sitofp i64 %i64 to double 79 ret double %conv 80} 81 82; CHECK-LABEL: i64tod 83; CHECK: bl __i64tod 84 85define arm_aapcs_vfpcc double @u64tod(i64 %i64) { 86entry: 87 %conv = uitofp i64 %i64 to double 88 ret double %conv 89} 90 91; CHECK-LABEL: u64tod 92; CHECK: bl __u64tod 93 94