xref: /llvm-project/llvm/test/CodeGen/ARM/Windows/libcalls.ll (revision d12292480a22ec541b4be22c8923eac02a5a3583)
1*0a2672bbSSaleem Abdulrasool; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s | FileCheck %s
2*0a2672bbSSaleem Abdulrasool; RUN: llc -mtriple thumbv7-windows-msvc -filetype asm -o - %s | FileCheck %s
3*0a2672bbSSaleem Abdulrasool
4*0a2672bbSSaleem Abdulrasooldefine arm_aapcs_vfpcc i64 @stoi64(float %f) {
5*0a2672bbSSaleem Abdulrasoolentry:
6*0a2672bbSSaleem Abdulrasool  %conv = fptosi float %f to i64
7*0a2672bbSSaleem Abdulrasool  ret i64 %conv
8*0a2672bbSSaleem Abdulrasool}
9*0a2672bbSSaleem Abdulrasool
10*0a2672bbSSaleem Abdulrasool; CHECK-LABEL: stoi64
11*0a2672bbSSaleem Abdulrasool; CHECK: bl __stoi64
12*0a2672bbSSaleem Abdulrasool
13*0a2672bbSSaleem Abdulrasooldefine arm_aapcs_vfpcc i64 @stou64(float %f) {
14*0a2672bbSSaleem Abdulrasoolentry:
15*0a2672bbSSaleem Abdulrasool  %conv = fptoui float %f to i64
16*0a2672bbSSaleem Abdulrasool  ret i64 %conv
17*0a2672bbSSaleem Abdulrasool}
18*0a2672bbSSaleem Abdulrasool
19*0a2672bbSSaleem Abdulrasool; CHECK-LABEL: stou64
20*0a2672bbSSaleem Abdulrasool; CHECK: bl __stou64
21*0a2672bbSSaleem Abdulrasool
22*0a2672bbSSaleem Abdulrasooldefine arm_aapcs_vfpcc float @i64tos(i64 %i64) {
23*0a2672bbSSaleem Abdulrasoolentry:
24*0a2672bbSSaleem Abdulrasool  %conv = sitofp i64 %i64 to float
25*0a2672bbSSaleem Abdulrasool  ret float %conv
26*0a2672bbSSaleem Abdulrasool}
27*0a2672bbSSaleem Abdulrasool
28*0a2672bbSSaleem Abdulrasool; CHECK-LABEL: i64tos
29*0a2672bbSSaleem Abdulrasool; CHECK: bl __i64tos
30*0a2672bbSSaleem Abdulrasool
31*0a2672bbSSaleem Abdulrasooldefine arm_aapcs_vfpcc float @u64tos(i64 %u64) {
32*0a2672bbSSaleem Abdulrasoolentry:
33*0a2672bbSSaleem Abdulrasool  %conv = uitofp i64 %u64 to float
34*0a2672bbSSaleem Abdulrasool  ret float %conv
35*0a2672bbSSaleem Abdulrasool}
36*0a2672bbSSaleem Abdulrasool
37*0a2672bbSSaleem Abdulrasool; CHECK-LABEL: u64tos
38*0a2672bbSSaleem Abdulrasool; CHECK: bl __u64tos
39*0a2672bbSSaleem Abdulrasool
40*0a2672bbSSaleem Abdulrasooldefine arm_aapcs_vfpcc i64 @dtoi64(double %d) {
41*0a2672bbSSaleem Abdulrasoolentry:
42*0a2672bbSSaleem Abdulrasool  %conv = fptosi double %d to i64
43*0a2672bbSSaleem Abdulrasool  ret i64 %conv
44*0a2672bbSSaleem Abdulrasool}
45*0a2672bbSSaleem Abdulrasool
46*0a2672bbSSaleem Abdulrasool; CHECK-LABEL: dtoi64
47*0a2672bbSSaleem Abdulrasool; CHECK: bl __dtoi64
48*0a2672bbSSaleem Abdulrasool
49*0a2672bbSSaleem Abdulrasooldefine arm_aapcs_vfpcc i64 @dtou64(double %d) {
50*0a2672bbSSaleem Abdulrasoolentry:
51*0a2672bbSSaleem Abdulrasool  %conv = fptoui double %d to i64
52*0a2672bbSSaleem Abdulrasool  ret i64 %conv
53*0a2672bbSSaleem Abdulrasool}
54*0a2672bbSSaleem Abdulrasool
55*0a2672bbSSaleem Abdulrasool; CHECK-LABEL: dtou64
56*0a2672bbSSaleem Abdulrasool; CHECK: bl __dtou64
57*0a2672bbSSaleem Abdulrasool
58*0a2672bbSSaleem Abdulrasooldefine arm_aapcs_vfpcc double @i64tod(i64 %i64) {
59*0a2672bbSSaleem Abdulrasoolentry:
60*0a2672bbSSaleem Abdulrasool  %conv = sitofp i64 %i64 to double
61*0a2672bbSSaleem Abdulrasool  ret double %conv
62*0a2672bbSSaleem Abdulrasool}
63*0a2672bbSSaleem Abdulrasool
64*0a2672bbSSaleem Abdulrasool; CHECK-LABEL: i64tod
65*0a2672bbSSaleem Abdulrasool; CHECK: bl __i64tod
66*0a2672bbSSaleem Abdulrasool
67*0a2672bbSSaleem Abdulrasooldefine arm_aapcs_vfpcc double @u64tod(i64 %i64) {
68*0a2672bbSSaleem Abdulrasoolentry:
69*0a2672bbSSaleem Abdulrasool  %conv = uitofp i64 %i64 to double
70*0a2672bbSSaleem Abdulrasool  ret double %conv
71*0a2672bbSSaleem Abdulrasool}
72*0a2672bbSSaleem Abdulrasool
73*0a2672bbSSaleem Abdulrasool; CHECK-LABEL: u64tod
74*0a2672bbSSaleem Abdulrasool; CHECK: bl __u64tod
75*0a2672bbSSaleem Abdulrasool
76