blob: 484915f1b8f4fafeea8c2c20df1f3360de2f5590 [file] [log] [blame]
Zonr Chang932648d2010-10-13 22:23:56 +08001/*
2 * Copyright 2010, The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Shih-wei Liao77ed6142010-04-07 12:21:42 -070017#ifdef USE_VFP_RUNTIME
18# define DEF_GENERIC_OR_VFP_RUNTIME(func) DEF_VFP_RUNTIME(func)
19# define DEF_LLVM_OR_VFP_RUNTIME(func) DEF_VFP_RUNTIME(func)
20#else
21# undef DEF_VFP_RUNTIME
22# define DEF_VFP_RUNTIME(func)
23# define DEF_GENERIC_OR_VFP_RUNTIME(func) DEF_GENERIC_RUNTIME(func)
24# define DEF_LLVM_OR_VFP_RUNTIME(func) DEF_LLVM_RUNTIME(func)
25#endif
26
27// Sorted
28DEF_LLVM_RUNTIME(__absvdi2)
29DEF_LLVM_RUNTIME(__absvsi2)
30
31DEF_GENERIC_OR_VFP_RUNTIME(__adddf3)
32DEF_GENERIC_OR_VFP_RUNTIME(__addsf3)
33
34DEF_LLVM_RUNTIME(__addvdi3)
35DEF_LLVM_RUNTIME(__addvsi3)
36DEF_LLVM_RUNTIME(__ashldi3)
37#ifndef ANDROID // has one in bionic
38 DEF_LLVM_RUNTIME(__ashrdi3)
39#endif
40
41#ifdef USE_VFP_RUNTIME
42// DEF_GENERIC_RUNTIME(__bswapdi2)
43// DEF_GENERIC_RUNTIME(__bswapsi2)
44#endif
45
46DEF_LLVM_RUNTIME(__clzdi2)
47DEF_LLVM_RUNTIME(__clzsi2)
48DEF_LLVM_RUNTIME(__cmpdi2)
49DEF_LLVM_RUNTIME(__ctzdi2)
50DEF_LLVM_RUNTIME(__ctzsi2)
51
52#ifndef ANDROID // no complex extension
53 DEF_LLVM_RUNTIME(__divdc3)
54#endif
55
56DEF_GENERIC_OR_VFP_RUNTIME(__divdf3)
57
58DEF_LLVM_RUNTIME(__divdi3)
59
60#ifndef ANDROID // no complex extension
61 DEF_LLVM_RUNTIME(__divsc3)
62#endif
63
64DEF_GENERIC_OR_VFP_RUNTIME(__divsf3)
65
66DEF_LLVM_RUNTIME(__eprintf)
67
68DEF_GENERIC_OR_VFP_RUNTIME(__eqdf2)
69DEF_GENERIC_OR_VFP_RUNTIME(__eqsf2)
70DEF_GENERIC_OR_VFP_RUNTIME(__extendsfdf2)
71
72DEF_LLVM_RUNTIME(__ffsdi2)
73DEF_LLVM_RUNTIME(__fixdfdi)
74
75DEF_GENERIC_OR_VFP_RUNTIME(__fixdfsi)
76
77DEF_LLVM_RUNTIME(__fixsfdi)
78
79DEF_GENERIC_OR_VFP_RUNTIME(__fixsfsi)
80
81DEF_LLVM_RUNTIME(__fixunsdfdi)
82DEF_LLVM_OR_VFP_RUNTIME(__fixunsdfsi)
83DEF_LLVM_RUNTIME(__fixunssfdi)
84
85DEF_LLVM_OR_VFP_RUNTIME(__fixunssfsi)
86
87DEF_LLVM_RUNTIME(__floatdidf)
88DEF_LLVM_RUNTIME(__floatdisf)
89
90DEF_GENERIC_OR_VFP_RUNTIME(__floatsidf)
91DEF_GENERIC_OR_VFP_RUNTIME(__floatsisf)
92
93DEF_LLVM_RUNTIME(__floatundidf)
94DEF_LLVM_RUNTIME(__floatundisf)
95
96DEF_GENERIC_RUNTIME(__floatunsidf)
97DEF_GENERIC_RUNTIME(__floatunsisf)
98
99DEF_VFP_RUNTIME(__floatunssidf)
100DEF_VFP_RUNTIME(__floatunssisf)
101
102DEF_GENERIC_OR_VFP_RUNTIME(__gedf2)
103DEF_GENERIC_OR_VFP_RUNTIME(__gesf2)
104DEF_VFP_RUNTIME(__gtdf2)
105DEF_VFP_RUNTIME(__gtsf2)
106
107DEF_GENERIC_OR_VFP_RUNTIME(__ledf2)
108DEF_GENERIC_OR_VFP_RUNTIME(__lesf2)
109
110DEF_LLVM_RUNTIME(__lshrdi3)
111
112DEF_VFP_RUNTIME(__ltdf2)
113DEF_VFP_RUNTIME(__ltsf2)
114
115DEF_LLVM_RUNTIME(__moddi3)
116
117#ifndef ANDROID // no complex extension
118 DEF_LLVM_RUNTIME(__muldc3)
119#endif
120
121DEF_GENERIC_OR_VFP_RUNTIME(__muldf3)
122DEF_LLVM_RUNTIME(__muldi3)
123DEF_LLVM_RUNTIME(__muldsi3)
Shih-wei Liao210eb402010-08-26 08:55:40 -0700124
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700125#ifndef ANDROID // no complex extension
126 DEF_LLVM_RUNTIME(__mulsc3)
127#endif
128
129DEF_GENERIC_OR_VFP_RUNTIME(__mulsf3)
130
131DEF_LLVM_RUNTIME(__mulvdi3)
132DEF_LLVM_RUNTIME(__mulvsi3)
133
134DEF_VFP_RUNTIME(__nedf2)
135
136DEF_GENERIC_OR_VFP_RUNTIME(__negdf2)
137
138DEF_LLVM_RUNTIME(__negdi2)
139
140DEF_GENERIC_OR_VFP_RUNTIME(__negsf2)
141
142DEF_LLVM_RUNTIME(__negvdi2)
143DEF_LLVM_RUNTIME(__negvsi2)
144
145DEF_VFP_RUNTIME(__nesf2)
146
147DEF_LLVM_RUNTIME(__paritydi2)
148DEF_LLVM_RUNTIME(__paritysi2)
149DEF_LLVM_RUNTIME(__popcountdi2)
150DEF_LLVM_RUNTIME(__popcountsi2)
151DEF_LLVM_RUNTIME(__powidf2)
152DEF_LLVM_RUNTIME(__powisf2)
153
154DEF_GENERIC_OR_VFP_RUNTIME(__subdf3)
155DEF_GENERIC_OR_VFP_RUNTIME(__subsf3)
156
157DEF_LLVM_RUNTIME(__subvdi3)
158DEF_LLVM_RUNTIME(__subvsi3)
159
160DEF_GENERIC_OR_VFP_RUNTIME(__truncdfsf2)
161
162DEF_LLVM_RUNTIME(__ucmpdi2)
163DEF_LLVM_RUNTIME(__udivdi3)
164DEF_LLVM_RUNTIME(__udivmoddi4)
Shih-wei Liao210eb402010-08-26 08:55:40 -0700165DEF_LLVM_RUNTIME(__udivsi3)
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700166DEF_LLVM_RUNTIME(__umoddi3)
167
168DEF_GENERIC_OR_VFP_RUNTIME(__unorddf2)
169DEF_GENERIC_OR_VFP_RUNTIME(__unordsf2)
170
Shih-wei Liao77ed6142010-04-07 12:21:42 -0700171#undef DEF_GENERIC_RUNTIME
172#undef DEF_LLVM_RUNTIME
173#undef DEF_VFP_RUNTIME
Shih-wei Liaoabd1e3d2010-04-28 01:47:00 -0700174#undef DEF_BCC_RUNTIME