1 | //===-- VecFuncs.def - Library information -------------*- C++ -*-----------===// |
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | |
9 | // This .def file will create mappings from scalar math functions to vector |
10 | // functions along with their vectorization factor. The current support includes |
11 | // such mappings for Accelerate framework, MASS vector library, and SVML library. |
12 | // This .def file also allows creating an array of vector functions supported in |
13 | // the specified framework or library. |
14 | |
15 | #if defined(TLI_DEFINE_MASSV_VECFUNCS_NAMES) |
16 | #define TLI_DEFINE_MASSV_VECFUNCS |
17 | #define TLI_DEFINE_VECFUNC(SCAL, VEC, VF, VABI_PREFIX) VEC, |
18 | #endif |
19 | |
20 | #define FIXED(NL) ElementCount::getFixed(NL) |
21 | #define SCALABLE(NL) ElementCount::getScalable(NL) |
22 | #define NOMASK false |
23 | #define MASKED true |
24 | |
25 | #if !(defined(TLI_DEFINE_VECFUNC)) |
26 | #define TLI_DEFINE_VECFUNC(SCAL, VEC, VF, VABI_PREFIX) {SCAL, VEC, VF, NOMASK, VABI_PREFIX}, |
27 | #endif |
28 | |
29 | #if defined(TLI_DEFINE_ACCELERATE_VECFUNCS) |
30 | // Accelerate framework's Vector Functions |
31 | |
32 | // Floating-Point Arithmetic and Auxiliary Functions |
33 | TLI_DEFINE_VECFUNC("ceilf" , "vceilf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
34 | TLI_DEFINE_VECFUNC("fabsf" , "vfabsf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
35 | TLI_DEFINE_VECFUNC("llvm.fabs.f32" , "vfabsf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
36 | TLI_DEFINE_VECFUNC("floorf" , "vfloorf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
37 | TLI_DEFINE_VECFUNC("sqrtf" , "vsqrtf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
38 | TLI_DEFINE_VECFUNC("llvm.sqrt.f32" , "vsqrtf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
39 | |
40 | // Exponential and Logarithmic Functions |
41 | TLI_DEFINE_VECFUNC("expf" , "vexpf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
42 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "vexpf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
43 | TLI_DEFINE_VECFUNC("expm1f" , "vexpm1f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
44 | TLI_DEFINE_VECFUNC("logf" , "vlogf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
45 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "vlogf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
46 | TLI_DEFINE_VECFUNC("log1pf" , "vlog1pf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
47 | TLI_DEFINE_VECFUNC("log10f" , "vlog10f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
48 | TLI_DEFINE_VECFUNC("llvm.log10.f32" , "vlog10f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
49 | TLI_DEFINE_VECFUNC("logbf" , "vlogbf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
50 | |
51 | // Trigonometric Functions |
52 | TLI_DEFINE_VECFUNC("sinf" , "vsinf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
53 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "vsinf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
54 | TLI_DEFINE_VECFUNC("cosf" , "vcosf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
55 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "vcosf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
56 | TLI_DEFINE_VECFUNC("tanf" , "vtanf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
57 | TLI_DEFINE_VECFUNC("asinf" , "vasinf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
58 | TLI_DEFINE_VECFUNC("acosf" , "vacosf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
59 | TLI_DEFINE_VECFUNC("atanf" , "vatanf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
60 | |
61 | // Hyperbolic Functions |
62 | TLI_DEFINE_VECFUNC("sinhf" , "vsinhf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
63 | TLI_DEFINE_VECFUNC("coshf" , "vcoshf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
64 | TLI_DEFINE_VECFUNC("tanhf" , "vtanhf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
65 | TLI_DEFINE_VECFUNC("asinhf" , "vasinhf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
66 | TLI_DEFINE_VECFUNC("acoshf" , "vacoshf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
67 | TLI_DEFINE_VECFUNC("atanhf" , "vatanhf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
68 | |
69 | #elif defined(TLI_DEFINE_DARWIN_LIBSYSTEM_M_VECFUNCS) |
70 | // Darwin libsystem_m vector functions. |
71 | |
72 | // Exponential and Logarithmic Functions |
73 | TLI_DEFINE_VECFUNC("exp" , "_simd_exp_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
74 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "_simd_exp_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
75 | TLI_DEFINE_VECFUNC("expf" , "_simd_exp_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
76 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "_simd_exp_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
77 | |
78 | // Trigonometric Functions |
79 | TLI_DEFINE_VECFUNC("acos" , "_simd_acos_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
80 | TLI_DEFINE_VECFUNC("acosf" , "_simd_acos_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
81 | TLI_DEFINE_VECFUNC("asin" , "_simd_asin_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
82 | TLI_DEFINE_VECFUNC("asinf" , "_simd_asin_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
83 | |
84 | TLI_DEFINE_VECFUNC("atan" , "_simd_atan_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
85 | TLI_DEFINE_VECFUNC("atanf" , "_simd_atan_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
86 | TLI_DEFINE_VECFUNC("atan2" , "_simd_atan2_d2" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
87 | TLI_DEFINE_VECFUNC("atan2f" , "_simd_atan2_f4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
88 | |
89 | TLI_DEFINE_VECFUNC("cos" , "_simd_cos_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
90 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "_simd_cos_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
91 | TLI_DEFINE_VECFUNC("cosf" , "_simd_cos_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
92 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "_simd_cos_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
93 | |
94 | TLI_DEFINE_VECFUNC("sin" , "_simd_sin_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
95 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "_simd_sin_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
96 | TLI_DEFINE_VECFUNC("sinf" , "_simd_sin_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
97 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "_simd_sin_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
98 | |
99 | // Floating-Point Arithmetic and Auxiliary Functions |
100 | TLI_DEFINE_VECFUNC("cbrt" , "_simd_cbrt_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
101 | TLI_DEFINE_VECFUNC("cbrtf" , "_simd_cbrt_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
102 | TLI_DEFINE_VECFUNC("erf" , "_simd_erf_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
103 | TLI_DEFINE_VECFUNC("erff" , "_simd_erf_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
104 | TLI_DEFINE_VECFUNC("pow" , "_simd_pow_d2" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
105 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "_simd_pow_d2" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
106 | TLI_DEFINE_VECFUNC("powf" , "_simd_pow_f4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
107 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "_simd_pow_f4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
108 | |
109 | // Hyperbolic Functions |
110 | TLI_DEFINE_VECFUNC("sinh" , "_simd_sinh_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
111 | TLI_DEFINE_VECFUNC("sinhf" , "_simd_sinh_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
112 | TLI_DEFINE_VECFUNC("cosh" , "_simd_cosh_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
113 | TLI_DEFINE_VECFUNC("coshf" , "_simd_cosh_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
114 | TLI_DEFINE_VECFUNC("tanh" , "_simd_tanh_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
115 | TLI_DEFINE_VECFUNC("tanhf" , "_simd_tanh_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
116 | TLI_DEFINE_VECFUNC("asinh" , "_simd_asinh_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
117 | TLI_DEFINE_VECFUNC("asinhf" , "_simd_asinh_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
118 | TLI_DEFINE_VECFUNC("acosh" , "_simd_acosh_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
119 | TLI_DEFINE_VECFUNC("acoshf" , "_simd_acosh_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
120 | TLI_DEFINE_VECFUNC("atanh" , "_simd_atanh_d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
121 | TLI_DEFINE_VECFUNC("atanhf" , "_simd_atanh_f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
122 | |
123 | #elif defined(TLI_DEFINE_LIBMVEC_X86_VECFUNCS) |
124 | // GLIBC Vector math Functions |
125 | |
126 | TLI_DEFINE_VECFUNC("sin" , "_ZGVbN2v_sin" , FIXED(2), "_ZGV_LLVM_N2v" ) |
127 | TLI_DEFINE_VECFUNC("sin" , "_ZGVdN4v_sin" , FIXED(4), "_ZGV_LLVM_N4v" ) |
128 | |
129 | TLI_DEFINE_VECFUNC("sinf" , "_ZGVbN4v_sinf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
130 | TLI_DEFINE_VECFUNC("sinf" , "_ZGVdN8v_sinf" , FIXED(8), "_ZGV_LLVM_N8v" ) |
131 | |
132 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "_ZGVbN2v_sin" , FIXED(2), "_ZGV_LLVM_N2v" ) |
133 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "_ZGVdN4v_sin" , FIXED(4), "_ZGV_LLVM_N4v" ) |
134 | |
135 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "_ZGVbN4v_sinf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
136 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "_ZGVdN8v_sinf" , FIXED(8), "_ZGV_LLVM_N8v" ) |
137 | |
138 | TLI_DEFINE_VECFUNC("cos" , "_ZGVbN2v_cos" , FIXED(2), "_ZGV_LLVM_N2v" ) |
139 | TLI_DEFINE_VECFUNC("cos" , "_ZGVdN4v_cos" , FIXED(4), "_ZGV_LLVM_N4v" ) |
140 | |
141 | TLI_DEFINE_VECFUNC("cosf" , "_ZGVbN4v_cosf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
142 | TLI_DEFINE_VECFUNC("cosf" , "_ZGVdN8v_cosf" , FIXED(8), "_ZGV_LLVM_N8v" ) |
143 | |
144 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "_ZGVbN2v_cos" , FIXED(2), "_ZGV_LLVM_N2v" ) |
145 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "_ZGVdN4v_cos" , FIXED(4), "_ZGV_LLVM_N4v" ) |
146 | |
147 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "_ZGVbN4v_cosf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
148 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "_ZGVdN8v_cosf" , FIXED(8), "_ZGV_LLVM_N8v" ) |
149 | |
150 | TLI_DEFINE_VECFUNC("pow" , "_ZGVbN2vv_pow" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
151 | TLI_DEFINE_VECFUNC("pow" , "_ZGVdN4vv_pow" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
152 | |
153 | TLI_DEFINE_VECFUNC("powf" , "_ZGVbN4vv_powf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
154 | TLI_DEFINE_VECFUNC("powf" , "_ZGVdN8vv_powf" , FIXED(8), "_ZGV_LLVM_N8vv" ) |
155 | |
156 | TLI_DEFINE_VECFUNC("__pow_finite" , "_ZGVbN2vv___pow_finite" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
157 | TLI_DEFINE_VECFUNC("__pow_finite" , "_ZGVdN4vv___pow_finite" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
158 | |
159 | TLI_DEFINE_VECFUNC("__powf_finite" , "_ZGVbN4vv___powf_finite" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
160 | TLI_DEFINE_VECFUNC("__powf_finite" , "_ZGVdN8vv___powf_finite" , FIXED(8), "_ZGV_LLVM_N8vv" ) |
161 | |
162 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "_ZGVbN2vv_pow" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
163 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "_ZGVdN4vv_pow" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
164 | |
165 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "_ZGVbN4vv_powf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
166 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "_ZGVdN8vv_powf" , FIXED(8), "_ZGV_LLVM_N8vv" ) |
167 | |
168 | TLI_DEFINE_VECFUNC("exp" , "_ZGVbN2v_exp" , FIXED(2), "_ZGV_LLVM_N2v" ) |
169 | TLI_DEFINE_VECFUNC("exp" , "_ZGVdN4v_exp" , FIXED(4), "_ZGV_LLVM_N4v" ) |
170 | |
171 | TLI_DEFINE_VECFUNC("expf" , "_ZGVbN4v_expf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
172 | TLI_DEFINE_VECFUNC("expf" , "_ZGVdN8v_expf" , FIXED(8), "_ZGV_LLVM_N8v" ) |
173 | |
174 | TLI_DEFINE_VECFUNC("__exp_finite" , "_ZGVbN2v___exp_finite" , FIXED(2), "_ZGV_LLVM_N2v" ) |
175 | TLI_DEFINE_VECFUNC("__exp_finite" , "_ZGVdN4v___exp_finite" , FIXED(4), "_ZGV_LLVM_N4v" ) |
176 | |
177 | TLI_DEFINE_VECFUNC("__expf_finite" , "_ZGVbN4v___expf_finite" , FIXED(4), "_ZGV_LLVM_N4v" ) |
178 | TLI_DEFINE_VECFUNC("__expf_finite" , "_ZGVdN8v___expf_finite" , FIXED(8), "_ZGV_LLVM_N8v" ) |
179 | |
180 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "_ZGVbN2v_exp" , FIXED(2), "_ZGV_LLVM_N2v" ) |
181 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "_ZGVdN4v_exp" , FIXED(4), "_ZGV_LLVM_N4v" ) |
182 | |
183 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "_ZGVbN4v_expf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
184 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "_ZGVdN8v_expf" , FIXED(8), "_ZGV_LLVM_N8v" ) |
185 | |
186 | TLI_DEFINE_VECFUNC("log" , "_ZGVbN2v_log" , FIXED(2), "_ZGV_LLVM_N2v" ) |
187 | TLI_DEFINE_VECFUNC("log" , "_ZGVdN4v_log" , FIXED(4), "_ZGV_LLVM_N4v" ) |
188 | |
189 | TLI_DEFINE_VECFUNC("logf" , "_ZGVbN4v_logf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
190 | TLI_DEFINE_VECFUNC("logf" , "_ZGVdN8v_logf" , FIXED(8), "_ZGV_LLVM_N8v" ) |
191 | |
192 | TLI_DEFINE_VECFUNC("__log_finite" , "_ZGVbN2v___log_finite" , FIXED(2), "_ZGV_LLVM_N2v" ) |
193 | TLI_DEFINE_VECFUNC("__log_finite" , "_ZGVdN4v___log_finite" , FIXED(4), "_ZGV_LLVM_N4v" ) |
194 | |
195 | TLI_DEFINE_VECFUNC("__logf_finite" , "_ZGVbN4v___logf_finite" , FIXED(4), "_ZGV_LLVM_N4v" ) |
196 | TLI_DEFINE_VECFUNC("__logf_finite" , "_ZGVdN8v___logf_finite" , FIXED(8), "_ZGV_LLVM_N8v" ) |
197 | |
198 | TLI_DEFINE_VECFUNC("llvm.log.f64" , "_ZGVbN2v_log" , FIXED(2), "_ZGV_LLVM_N2v" ) |
199 | TLI_DEFINE_VECFUNC("llvm.log.f64" , "_ZGVdN4v_log" , FIXED(4), "_ZGV_LLVM_N4v" ) |
200 | |
201 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "_ZGVbN4v_logf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
202 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "_ZGVdN8v_logf" , FIXED(8), "_ZGV_LLVM_N8v" ) |
203 | |
204 | #elif defined(TLI_DEFINE_MASSV_VECFUNCS) |
205 | // IBM MASS library's vector Functions |
206 | |
207 | // Floating-Point Arithmetic and Auxiliary Functions |
208 | TLI_DEFINE_VECFUNC("cbrt" , "__cbrtd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
209 | TLI_DEFINE_VECFUNC("cbrtf" , "__cbrtf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
210 | TLI_DEFINE_VECFUNC("pow" , "__powd2" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
211 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "__powd2" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
212 | TLI_DEFINE_VECFUNC("powf" , "__powf4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
213 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "__powf4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
214 | |
215 | // Exponential and Logarithmic Functions |
216 | TLI_DEFINE_VECFUNC("exp" , "__expd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
217 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "__expd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
218 | TLI_DEFINE_VECFUNC("expf" , "__expf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
219 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "__expf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
220 | TLI_DEFINE_VECFUNC("exp2" , "__exp2d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
221 | TLI_DEFINE_VECFUNC("llvm.exp2.f64" , "__exp2d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
222 | TLI_DEFINE_VECFUNC("exp2f" , "__exp2f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
223 | TLI_DEFINE_VECFUNC("llvm.exp2.f32" , "__exp2f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
224 | TLI_DEFINE_VECFUNC("expm1" , "__expm1d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
225 | TLI_DEFINE_VECFUNC("expm1f" , "__expm1f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
226 | TLI_DEFINE_VECFUNC("log" , "__logd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
227 | TLI_DEFINE_VECFUNC("llvm.log.f64" , "__logd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
228 | TLI_DEFINE_VECFUNC("logf" , "__logf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
229 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "__logf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
230 | TLI_DEFINE_VECFUNC("log1p" , "__log1pd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
231 | TLI_DEFINE_VECFUNC("log1pf" , "__log1pf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
232 | TLI_DEFINE_VECFUNC("log10" , "__log10d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
233 | TLI_DEFINE_VECFUNC("llvm.log10.f64" , "__log10d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
234 | TLI_DEFINE_VECFUNC("log10f" , "__log10f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
235 | TLI_DEFINE_VECFUNC("llvm.log10.f32" , "__log10f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
236 | TLI_DEFINE_VECFUNC("log2" , "__log2d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
237 | TLI_DEFINE_VECFUNC("llvm.log2.f64" , "__log2d2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
238 | TLI_DEFINE_VECFUNC("log2f" , "__log2f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
239 | TLI_DEFINE_VECFUNC("llvm.log2.f32" , "__log2f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
240 | |
241 | // Trigonometric Functions |
242 | TLI_DEFINE_VECFUNC("sin" , "__sind2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
243 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "__sind2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
244 | TLI_DEFINE_VECFUNC("sinf" , "__sinf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
245 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "__sinf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
246 | TLI_DEFINE_VECFUNC("cos" , "__cosd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
247 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "__cosd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
248 | TLI_DEFINE_VECFUNC("cosf" , "__cosf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
249 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "__cosf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
250 | TLI_DEFINE_VECFUNC("tan" , "__tand2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
251 | TLI_DEFINE_VECFUNC("tanf" , "__tanf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
252 | TLI_DEFINE_VECFUNC("asin" , "__asind2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
253 | TLI_DEFINE_VECFUNC("asinf" , "__asinf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
254 | TLI_DEFINE_VECFUNC("acos" , "__acosd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
255 | TLI_DEFINE_VECFUNC("acosf" , "__acosf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
256 | TLI_DEFINE_VECFUNC("atan" , "__atand2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
257 | TLI_DEFINE_VECFUNC("atanf" , "__atanf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
258 | TLI_DEFINE_VECFUNC("atan2" , "__atan2d2" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
259 | TLI_DEFINE_VECFUNC("atan2f" , "__atan2f4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
260 | |
261 | // Hyperbolic Functions |
262 | TLI_DEFINE_VECFUNC("sinh" , "__sinhd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
263 | TLI_DEFINE_VECFUNC("sinhf" , "__sinhf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
264 | TLI_DEFINE_VECFUNC("cosh" , "__coshd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
265 | TLI_DEFINE_VECFUNC("coshf" , "__coshf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
266 | TLI_DEFINE_VECFUNC("tanh" , "__tanhd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
267 | TLI_DEFINE_VECFUNC("tanhf" , "__tanhf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
268 | TLI_DEFINE_VECFUNC("asinh" , "__asinhd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
269 | TLI_DEFINE_VECFUNC("asinhf" , "__asinhf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
270 | TLI_DEFINE_VECFUNC("acosh" , "__acoshd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
271 | TLI_DEFINE_VECFUNC("acoshf" , "__acoshf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
272 | TLI_DEFINE_VECFUNC("atanh" , "__atanhd2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
273 | TLI_DEFINE_VECFUNC("atanhf" , "__atanhf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
274 | |
275 | |
276 | #elif defined(TLI_DEFINE_SVML_VECFUNCS) |
277 | // Intel SVM library's Vector Functions |
278 | |
279 | TLI_DEFINE_VECFUNC("sin" , "__svml_sin2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
280 | TLI_DEFINE_VECFUNC("sin" , "__svml_sin4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
281 | TLI_DEFINE_VECFUNC("sin" , "__svml_sin8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
282 | |
283 | TLI_DEFINE_VECFUNC("sinf" , "__svml_sinf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
284 | TLI_DEFINE_VECFUNC("sinf" , "__svml_sinf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
285 | TLI_DEFINE_VECFUNC("sinf" , "__svml_sinf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
286 | |
287 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "__svml_sin2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
288 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "__svml_sin4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
289 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "__svml_sin8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
290 | |
291 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "__svml_sinf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
292 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "__svml_sinf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
293 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "__svml_sinf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
294 | |
295 | TLI_DEFINE_VECFUNC("cos" , "__svml_cos2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
296 | TLI_DEFINE_VECFUNC("cos" , "__svml_cos4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
297 | TLI_DEFINE_VECFUNC("cos" , "__svml_cos8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
298 | |
299 | TLI_DEFINE_VECFUNC("cosf" , "__svml_cosf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
300 | TLI_DEFINE_VECFUNC("cosf" , "__svml_cosf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
301 | TLI_DEFINE_VECFUNC("cosf" , "__svml_cosf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
302 | |
303 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "__svml_cos2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
304 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "__svml_cos4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
305 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "__svml_cos8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
306 | |
307 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "__svml_cosf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
308 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "__svml_cosf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
309 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "__svml_cosf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
310 | |
311 | TLI_DEFINE_VECFUNC("pow" , "__svml_pow2" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
312 | TLI_DEFINE_VECFUNC("pow" , "__svml_pow4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
313 | TLI_DEFINE_VECFUNC("pow" , "__svml_pow8" , FIXED(8), "_ZGV_LLVM_N8vv" ) |
314 | |
315 | TLI_DEFINE_VECFUNC("powf" , "__svml_powf4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
316 | TLI_DEFINE_VECFUNC("powf" , "__svml_powf8" , FIXED(8), "_ZGV_LLVM_N8vv" ) |
317 | TLI_DEFINE_VECFUNC("powf" , "__svml_powf16" , FIXED(16), "_ZGV_LLVM_N16vv" ) |
318 | |
319 | TLI_DEFINE_VECFUNC("__pow_finite" , "__svml_pow2" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
320 | TLI_DEFINE_VECFUNC("__pow_finite" , "__svml_pow4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
321 | TLI_DEFINE_VECFUNC("__pow_finite" , "__svml_pow8" , FIXED(8), "_ZGV_LLVM_N8vv" ) |
322 | |
323 | TLI_DEFINE_VECFUNC("__powf_finite" , "__svml_powf4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
324 | TLI_DEFINE_VECFUNC("__powf_finite" , "__svml_powf8" , FIXED(8), "_ZGV_LLVM_N8vv" ) |
325 | TLI_DEFINE_VECFUNC("__powf_finite" , "__svml_powf16" , FIXED(16), "_ZGV_LLVM_N16vv" ) |
326 | |
327 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "__svml_pow2" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
328 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "__svml_pow4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
329 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "__svml_pow8" , FIXED(8), "_ZGV_LLVM_N8vv" ) |
330 | |
331 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "__svml_powf4" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
332 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "__svml_powf8" , FIXED(8), "_ZGV_LLVM_N8vv" ) |
333 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "__svml_powf16" , FIXED(16), "_ZGV_LLVM_N16vv" ) |
334 | |
335 | TLI_DEFINE_VECFUNC("exp" , "__svml_exp2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
336 | TLI_DEFINE_VECFUNC("exp" , "__svml_exp4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
337 | TLI_DEFINE_VECFUNC("exp" , "__svml_exp8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
338 | |
339 | TLI_DEFINE_VECFUNC("expf" , "__svml_expf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
340 | TLI_DEFINE_VECFUNC("expf" , "__svml_expf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
341 | TLI_DEFINE_VECFUNC("expf" , "__svml_expf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
342 | |
343 | TLI_DEFINE_VECFUNC("__exp_finite" , "__svml_exp2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
344 | TLI_DEFINE_VECFUNC("__exp_finite" , "__svml_exp4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
345 | TLI_DEFINE_VECFUNC("__exp_finite" , "__svml_exp8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
346 | |
347 | TLI_DEFINE_VECFUNC("__expf_finite" , "__svml_expf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
348 | TLI_DEFINE_VECFUNC("__expf_finite" , "__svml_expf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
349 | TLI_DEFINE_VECFUNC("__expf_finite" , "__svml_expf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
350 | |
351 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "__svml_exp2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
352 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "__svml_exp4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
353 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "__svml_exp8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
354 | |
355 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "__svml_expf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
356 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "__svml_expf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
357 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "__svml_expf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
358 | |
359 | TLI_DEFINE_VECFUNC("log" , "__svml_log2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
360 | TLI_DEFINE_VECFUNC("log" , "__svml_log4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
361 | TLI_DEFINE_VECFUNC("log" , "__svml_log8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
362 | |
363 | TLI_DEFINE_VECFUNC("logf" , "__svml_logf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
364 | TLI_DEFINE_VECFUNC("logf" , "__svml_logf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
365 | TLI_DEFINE_VECFUNC("logf" , "__svml_logf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
366 | |
367 | TLI_DEFINE_VECFUNC("__log_finite" , "__svml_log2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
368 | TLI_DEFINE_VECFUNC("__log_finite" , "__svml_log4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
369 | TLI_DEFINE_VECFUNC("__log_finite" , "__svml_log8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
370 | |
371 | TLI_DEFINE_VECFUNC("__logf_finite" , "__svml_logf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
372 | TLI_DEFINE_VECFUNC("__logf_finite" , "__svml_logf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
373 | TLI_DEFINE_VECFUNC("__logf_finite" , "__svml_logf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
374 | |
375 | TLI_DEFINE_VECFUNC("llvm.log.f64" , "__svml_log2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
376 | TLI_DEFINE_VECFUNC("llvm.log.f64" , "__svml_log4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
377 | TLI_DEFINE_VECFUNC("llvm.log.f64" , "__svml_log8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
378 | |
379 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "__svml_logf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
380 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "__svml_logf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
381 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "__svml_logf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
382 | |
383 | TLI_DEFINE_VECFUNC("log2" , "__svml_log22" , FIXED(2), "_ZGV_LLVM_N2v" ) |
384 | TLI_DEFINE_VECFUNC("log2" , "__svml_log24" , FIXED(4), "_ZGV_LLVM_N4v" ) |
385 | TLI_DEFINE_VECFUNC("log2" , "__svml_log28" , FIXED(8), "_ZGV_LLVM_N8v" ) |
386 | |
387 | TLI_DEFINE_VECFUNC("log2f" , "__svml_log2f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
388 | TLI_DEFINE_VECFUNC("log2f" , "__svml_log2f8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
389 | TLI_DEFINE_VECFUNC("log2f" , "__svml_log2f16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
390 | |
391 | TLI_DEFINE_VECFUNC("__log2_finite" , "__svml_log22" , FIXED(2), "_ZGV_LLVM_N2v" ) |
392 | TLI_DEFINE_VECFUNC("__log2_finite" , "__svml_log24" , FIXED(4), "_ZGV_LLVM_N4v" ) |
393 | TLI_DEFINE_VECFUNC("__log2_finite" , "__svml_log28" , FIXED(8), "_ZGV_LLVM_N8v" ) |
394 | |
395 | TLI_DEFINE_VECFUNC("__log2f_finite" , "__svml_log2f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
396 | TLI_DEFINE_VECFUNC("__log2f_finite" , "__svml_log2f8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
397 | TLI_DEFINE_VECFUNC("__log2f_finite" , "__svml_log2f16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
398 | |
399 | TLI_DEFINE_VECFUNC("llvm.log2.f64" , "__svml_log22" , FIXED(2), "_ZGV_LLVM_N2v" ) |
400 | TLI_DEFINE_VECFUNC("llvm.log2.f64" , "__svml_log24" , FIXED(4), "_ZGV_LLVM_N4v" ) |
401 | TLI_DEFINE_VECFUNC("llvm.log2.f64" , "__svml_log28" , FIXED(8), "_ZGV_LLVM_N8v" ) |
402 | |
403 | TLI_DEFINE_VECFUNC("llvm.log2.f32" , "__svml_log2f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
404 | TLI_DEFINE_VECFUNC("llvm.log2.f32" , "__svml_log2f8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
405 | TLI_DEFINE_VECFUNC("llvm.log2.f32" , "__svml_log2f16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
406 | |
407 | TLI_DEFINE_VECFUNC("log10" , "__svml_log102" , FIXED(2), "_ZGV_LLVM_N2v" ) |
408 | TLI_DEFINE_VECFUNC("log10" , "__svml_log104" , FIXED(4), "_ZGV_LLVM_N4v" ) |
409 | TLI_DEFINE_VECFUNC("log10" , "__svml_log108" , FIXED(8), "_ZGV_LLVM_N8v" ) |
410 | |
411 | TLI_DEFINE_VECFUNC("log10f" , "__svml_log10f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
412 | TLI_DEFINE_VECFUNC("log10f" , "__svml_log10f8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
413 | TLI_DEFINE_VECFUNC("log10f" , "__svml_log10f16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
414 | |
415 | TLI_DEFINE_VECFUNC("__log10_finite" , "__svml_log102" , FIXED(2), "_ZGV_LLVM_N2v" ) |
416 | TLI_DEFINE_VECFUNC("__log10_finite" , "__svml_log104" , FIXED(4), "_ZGV_LLVM_N4v" ) |
417 | TLI_DEFINE_VECFUNC("__log10_finite" , "__svml_log108" , FIXED(8), "_ZGV_LLVM_N8v" ) |
418 | |
419 | TLI_DEFINE_VECFUNC("__log10f_finite" , "__svml_log10f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
420 | TLI_DEFINE_VECFUNC("__log10f_finite" , "__svml_log10f8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
421 | TLI_DEFINE_VECFUNC("__log10f_finite" , "__svml_log10f16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
422 | |
423 | TLI_DEFINE_VECFUNC("llvm.log10.f64" , "__svml_log102" , FIXED(2), "_ZGV_LLVM_N2v" ) |
424 | TLI_DEFINE_VECFUNC("llvm.log10.f64" , "__svml_log104" , FIXED(4), "_ZGV_LLVM_N4v" ) |
425 | TLI_DEFINE_VECFUNC("llvm.log10.f64" , "__svml_log108" , FIXED(8), "_ZGV_LLVM_N8v" ) |
426 | |
427 | TLI_DEFINE_VECFUNC("llvm.log10.f32" , "__svml_log10f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
428 | TLI_DEFINE_VECFUNC("llvm.log10.f32" , "__svml_log10f8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
429 | TLI_DEFINE_VECFUNC("llvm.log10.f32" , "__svml_log10f16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
430 | |
431 | TLI_DEFINE_VECFUNC("sqrt" , "__svml_sqrt2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
432 | TLI_DEFINE_VECFUNC("sqrt" , "__svml_sqrt4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
433 | TLI_DEFINE_VECFUNC("sqrt" , "__svml_sqrt8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
434 | |
435 | TLI_DEFINE_VECFUNC("sqrtf" , "__svml_sqrtf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
436 | TLI_DEFINE_VECFUNC("sqrtf" , "__svml_sqrtf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
437 | TLI_DEFINE_VECFUNC("sqrtf" , "__svml_sqrtf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
438 | |
439 | TLI_DEFINE_VECFUNC("__sqrt_finite" , "__svml_sqrt2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
440 | TLI_DEFINE_VECFUNC("__sqrt_finite" , "__svml_sqrt4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
441 | TLI_DEFINE_VECFUNC("__sqrt_finite" , "__svml_sqrt8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
442 | |
443 | TLI_DEFINE_VECFUNC("__sqrtf_finite" , "__svml_sqrtf4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
444 | TLI_DEFINE_VECFUNC("__sqrtf_finite" , "__svml_sqrtf8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
445 | TLI_DEFINE_VECFUNC("__sqrtf_finite" , "__svml_sqrtf16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
446 | |
447 | TLI_DEFINE_VECFUNC("exp2" , "__svml_exp22" , FIXED(2), "_ZGV_LLVM_N2v" ) |
448 | TLI_DEFINE_VECFUNC("exp2" , "__svml_exp24" , FIXED(4), "_ZGV_LLVM_N4v" ) |
449 | TLI_DEFINE_VECFUNC("exp2" , "__svml_exp28" , FIXED(8), "_ZGV_LLVM_N8v" ) |
450 | |
451 | TLI_DEFINE_VECFUNC("exp2f" , "__svml_exp2f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
452 | TLI_DEFINE_VECFUNC("exp2f" , "__svml_exp2f8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
453 | TLI_DEFINE_VECFUNC("exp2f" , "__svml_exp2f16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
454 | |
455 | TLI_DEFINE_VECFUNC("llvm.exp2.f64" , "__svml_exp22" , FIXED(2), "_ZGV_LLVM_N2v" ) |
456 | TLI_DEFINE_VECFUNC("llvm.exp2.f64" , "__svml_exp24" , FIXED(4), "_ZGV_LLVM_N4v" ) |
457 | TLI_DEFINE_VECFUNC("llvm.exp2.f64" , "__svml_exp28" , FIXED(8), "_ZGV_LLVM_N8v" ) |
458 | |
459 | TLI_DEFINE_VECFUNC("llvm.exp2.f32" , "__svml_exp2f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
460 | TLI_DEFINE_VECFUNC("llvm.exp2.f32" , "__svml_exp2f8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
461 | TLI_DEFINE_VECFUNC("llvm.exp2.f32" , "__svml_exp2f16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
462 | |
463 | TLI_DEFINE_VECFUNC("__exp2_finite" , "__svml_exp22" , FIXED(2), "_ZGV_LLVM_N2v" ) |
464 | TLI_DEFINE_VECFUNC("__exp2_finite" , "__svml_exp24" , FIXED(4), "_ZGV_LLVM_N4v" ) |
465 | TLI_DEFINE_VECFUNC("__exp2_finite" , "__svml_exp28" , FIXED(8), "_ZGV_LLVM_N8v" ) |
466 | |
467 | TLI_DEFINE_VECFUNC("__exp2f_finite" , "__svml_exp2f4" , FIXED(4), "_ZGV_LLVM_N4v" ) |
468 | TLI_DEFINE_VECFUNC("__exp2f_finite" , "__svml_exp2f8" , FIXED(8), "_ZGV_LLVM_N8v" ) |
469 | TLI_DEFINE_VECFUNC("__exp2f_finite" , "__svml_exp2f16" , FIXED(16), "_ZGV_LLVM_N16v" ) |
470 | |
471 | #elif defined(TLI_DEFINE_SLEEFGNUABI_VF2_VECFUNCS) |
472 | |
473 | TLI_DEFINE_VECFUNC("acos" , "_ZGVnN2v_acos" , FIXED(2), "_ZGV_LLVM_N2v" ) |
474 | |
475 | TLI_DEFINE_VECFUNC("acosh" , "_ZGVnN2v_acosh" , FIXED(2), "_ZGV_LLVM_N2v" ) |
476 | |
477 | TLI_DEFINE_VECFUNC("asin" , "_ZGVnN2v_asin" , FIXED(2), "_ZGV_LLVM_N2v" ) |
478 | |
479 | TLI_DEFINE_VECFUNC("asinh" , "_ZGVnN2v_asinh" , FIXED(2), "_ZGV_LLVM_N2v" ) |
480 | |
481 | TLI_DEFINE_VECFUNC("atan" , "_ZGVnN2v_atan" , FIXED(2), "_ZGV_LLVM_N2v" ) |
482 | |
483 | TLI_DEFINE_VECFUNC("atan2" , "_ZGVnN2vv_atan2" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
484 | |
485 | TLI_DEFINE_VECFUNC("atanh" , "_ZGVnN2v_atanh" , FIXED(2), "_ZGV_LLVM_N2v" ) |
486 | |
487 | TLI_DEFINE_VECFUNC("cbrt" , "_ZGVnN2v_cbrt" , FIXED(2), "_ZGV_LLVM_N2v" ) |
488 | |
489 | TLI_DEFINE_VECFUNC("copysign" , "_ZGVnN2vv_copysign" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
490 | |
491 | TLI_DEFINE_VECFUNC("cos" , "_ZGVnN2v_cos" , FIXED(2), "_ZGV_LLVM_N2v" ) |
492 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "_ZGVnN2v_cos" , FIXED(2), "_ZGV_LLVM_N2v" ) |
493 | |
494 | TLI_DEFINE_VECFUNC("cosh" , "_ZGVnN2v_cosh" , FIXED(2), "_ZGV_LLVM_N2v" ) |
495 | |
496 | TLI_DEFINE_VECFUNC("cospi" , "_ZGVnN2v_cospi" , FIXED(2), "_ZGV_LLVM_N2v" ) |
497 | |
498 | TLI_DEFINE_VECFUNC("erf" , "_ZGVnN2v_erf" , FIXED(2), "_ZGV_LLVM_N2v" ) |
499 | |
500 | TLI_DEFINE_VECFUNC("erfc" , "_ZGVnN2v_erfc" , FIXED(2), "_ZGV_LLVM_N2v" ) |
501 | |
502 | TLI_DEFINE_VECFUNC("exp" , "_ZGVnN2v_exp" , FIXED(2), "_ZGV_LLVM_N2v" ) |
503 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "_ZGVnN2v_exp" , FIXED(2), "_ZGV_LLVM_N2v" ) |
504 | |
505 | TLI_DEFINE_VECFUNC("exp10" , "_ZGVnN2v_exp10" , FIXED(2), "_ZGV_LLVM_N2v" ) |
506 | TLI_DEFINE_VECFUNC("llvm.exp10.f64" , "_ZGVnN2v_exp10" , FIXED(2), "_ZGV_LLVM_N2v" ) |
507 | |
508 | TLI_DEFINE_VECFUNC("exp2" , "_ZGVnN2v_exp2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
509 | TLI_DEFINE_VECFUNC("llvm.exp2.f64" , "_ZGVnN2v_exp2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
510 | |
511 | TLI_DEFINE_VECFUNC("expm1" , "_ZGVnN2v_expm1" , FIXED(2), "_ZGV_LLVM_N2v" ) |
512 | |
513 | TLI_DEFINE_VECFUNC("fdim" , "_ZGVnN2vv_fdim" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
514 | |
515 | TLI_DEFINE_VECFUNC("fma" , "_ZGVnN2vvv_fma" , FIXED(2), "_ZGV_LLVM_N2vvv" ) |
516 | |
517 | TLI_DEFINE_VECFUNC("fmax" , "_ZGVnN2vv_fmax" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
518 | |
519 | TLI_DEFINE_VECFUNC("fmin" , "_ZGVnN2vv_fmin" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
520 | |
521 | TLI_DEFINE_VECFUNC("fmod" , "_ZGVnN2vv_fmod" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
522 | |
523 | TLI_DEFINE_VECFUNC("hypot" , "_ZGVnN2vv_hypot" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
524 | |
525 | TLI_DEFINE_VECFUNC("ilogb" , "_ZGVnN2v_ilogb" , FIXED(2), "_ZGV_LLVM_N2v" ) |
526 | |
527 | TLI_DEFINE_VECFUNC("ldexp" , "_ZGVnN2vv_ldexp" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
528 | |
529 | TLI_DEFINE_VECFUNC("lgamma" , "_ZGVnN2v_lgamma" , FIXED(2), "_ZGV_LLVM_N2v" ) |
530 | |
531 | TLI_DEFINE_VECFUNC("log" , "_ZGVnN2v_log" , FIXED(2), "_ZGV_LLVM_N2v" ) |
532 | TLI_DEFINE_VECFUNC("llvm.log.f64" , "_ZGVnN2v_log" , FIXED(2), "_ZGV_LLVM_N2v" ) |
533 | |
534 | TLI_DEFINE_VECFUNC("log10" , "_ZGVnN2v_log10" , FIXED(2), "_ZGV_LLVM_N2v" ) |
535 | TLI_DEFINE_VECFUNC("llvm.log10.f64" , "_ZGVnN2v_log10" , FIXED(2), "_ZGV_LLVM_N2v" ) |
536 | |
537 | TLI_DEFINE_VECFUNC("log1p" , "_ZGVnN2v_log1p" , FIXED(2), "_ZGV_LLVM_N2v" ) |
538 | |
539 | TLI_DEFINE_VECFUNC("log2" , "_ZGVnN2v_log2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
540 | TLI_DEFINE_VECFUNC("llvm.log2.f64" , "_ZGVnN2v_log2" , FIXED(2), "_ZGV_LLVM_N2v" ) |
541 | |
542 | TLI_DEFINE_VECFUNC("modf" , "_ZGVnN2vl8_modf" , FIXED(2), "_ZGV_LLVM_N2vl8" ) |
543 | |
544 | TLI_DEFINE_VECFUNC("nextafter" , "_ZGVnN2vv_nextafter" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
545 | |
546 | TLI_DEFINE_VECFUNC("pow" , "_ZGVnN2vv_pow" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
547 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "_ZGVnN2vv_pow" , FIXED(2), "_ZGV_LLVM_N2vv" ) |
548 | |
549 | TLI_DEFINE_VECFUNC("sin" , "_ZGVnN2v_sin" , FIXED(2), "_ZGV_LLVM_N2v" ) |
550 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "_ZGVnN2v_sin" , FIXED(2), "_ZGV_LLVM_N2v" ) |
551 | |
552 | TLI_DEFINE_VECFUNC("sincos" , "_ZGVnN2vl8l8_sincos" , FIXED(2), "_ZGV_LLVM_N2vl8l8" ) |
553 | |
554 | TLI_DEFINE_VECFUNC("sincospi" , "_ZGVnN2vl8l8_sincospi" , FIXED(2), "_ZGV_LLVM_N2vl8l8" ) |
555 | |
556 | TLI_DEFINE_VECFUNC("sinh" , "_ZGVnN2v_sinh" , FIXED(2), "_ZGV_LLVM_N2v" ) |
557 | |
558 | TLI_DEFINE_VECFUNC("sinpi" , "_ZGVnN2v_sinpi" , FIXED(2), "_ZGV_LLVM_N2v" ) |
559 | |
560 | TLI_DEFINE_VECFUNC("sqrt" , "_ZGVnN2v_sqrt" , FIXED(2), "_ZGV_LLVM_N2v" ) |
561 | |
562 | TLI_DEFINE_VECFUNC("tan" , "_ZGVnN2v_tan" , FIXED(2), "_ZGV_LLVM_N2v" ) |
563 | |
564 | TLI_DEFINE_VECFUNC("tanh" , "_ZGVnN2v_tanh" , FIXED(2), "_ZGV_LLVM_N2v" ) |
565 | |
566 | TLI_DEFINE_VECFUNC("tgamma" , "_ZGVnN2v_tgamma" , FIXED(2), "_ZGV_LLVM_N2v" ) |
567 | |
568 | #elif defined(TLI_DEFINE_SLEEFGNUABI_VF4_VECFUNCS) |
569 | |
570 | TLI_DEFINE_VECFUNC("acosf" , "_ZGVnN4v_acosf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
571 | |
572 | TLI_DEFINE_VECFUNC("acoshf" , "_ZGVnN4v_acoshf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
573 | |
574 | TLI_DEFINE_VECFUNC("asinf" , "_ZGVnN4v_asinf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
575 | |
576 | TLI_DEFINE_VECFUNC("asinhf" , "_ZGVnN4v_asinhf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
577 | |
578 | TLI_DEFINE_VECFUNC("atanf" , "_ZGVnN4v_atanf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
579 | |
580 | TLI_DEFINE_VECFUNC("atan2f" , "_ZGVnN4vv_atan2f" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
581 | |
582 | TLI_DEFINE_VECFUNC("atanhf" , "_ZGVnN4v_atanhf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
583 | |
584 | TLI_DEFINE_VECFUNC("cbrtf" , "_ZGVnN4v_cbrtf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
585 | |
586 | TLI_DEFINE_VECFUNC("copysignf" , "_ZGVnN4vv_copysignf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
587 | |
588 | TLI_DEFINE_VECFUNC("cosf" , "_ZGVnN4v_cosf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
589 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "_ZGVnN4v_cosf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
590 | |
591 | TLI_DEFINE_VECFUNC("coshf" , "_ZGVnN4v_coshf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
592 | |
593 | TLI_DEFINE_VECFUNC("cospif" , "_ZGVnN4v_cospif" , FIXED(4), "_ZGV_LLVM_N4v" ) |
594 | |
595 | TLI_DEFINE_VECFUNC("erff" , "_ZGVnN4v_erff" , FIXED(4), "_ZGV_LLVM_N4v" ) |
596 | |
597 | TLI_DEFINE_VECFUNC("erfcf" , "_ZGVnN4v_erfcf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
598 | |
599 | TLI_DEFINE_VECFUNC("expf" , "_ZGVnN4v_expf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
600 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "_ZGVnN4v_expf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
601 | |
602 | TLI_DEFINE_VECFUNC("exp10f" , "_ZGVnN4v_exp10f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
603 | TLI_DEFINE_VECFUNC("llvm.exp10.f32" , "_ZGVnN4v_exp10f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
604 | |
605 | TLI_DEFINE_VECFUNC("exp2f" , "_ZGVnN4v_exp2f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
606 | TLI_DEFINE_VECFUNC("llvm.exp2.f32" , "_ZGVnN4v_exp2f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
607 | |
608 | TLI_DEFINE_VECFUNC("expm1f" , "_ZGVnN4v_expm1f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
609 | |
610 | TLI_DEFINE_VECFUNC("fdimf" , "_ZGVnN4vv_fdimf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
611 | |
612 | TLI_DEFINE_VECFUNC("fmaf" , "_ZGVnN4vvv_fmaf" , FIXED(4), "_ZGV_LLVM_N4vvv" ) |
613 | |
614 | TLI_DEFINE_VECFUNC("fmaxf" , "_ZGVnN4vv_fmaxf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
615 | |
616 | TLI_DEFINE_VECFUNC("fminf" , "_ZGVnN4vv_fminf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
617 | |
618 | TLI_DEFINE_VECFUNC("fmodf" , "_ZGVnN4vv_fmodf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
619 | |
620 | TLI_DEFINE_VECFUNC("hypotf" , "_ZGVnN4vv_hypotf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
621 | |
622 | TLI_DEFINE_VECFUNC("ilogbf" , "_ZGVnN4v_ilogbf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
623 | |
624 | TLI_DEFINE_VECFUNC("ldexpf" , "_ZGVnN4vv_ldexpf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
625 | |
626 | TLI_DEFINE_VECFUNC("lgammaf" , "_ZGVnN4v_lgammaf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
627 | |
628 | TLI_DEFINE_VECFUNC("logf" , "_ZGVnN4v_logf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
629 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "_ZGVnN4v_logf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
630 | |
631 | TLI_DEFINE_VECFUNC("log10f" , "_ZGVnN4v_log10f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
632 | TLI_DEFINE_VECFUNC("llvm.log10.f32" , "_ZGVnN4v_log10f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
633 | |
634 | TLI_DEFINE_VECFUNC("log1pf" , "_ZGVnN4v_log1pf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
635 | |
636 | TLI_DEFINE_VECFUNC("log2f" , "_ZGVnN4v_log2f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
637 | TLI_DEFINE_VECFUNC("llvm.log2.f32" , "_ZGVnN4v_log2f" , FIXED(4), "_ZGV_LLVM_N4v" ) |
638 | |
639 | TLI_DEFINE_VECFUNC("modff" , "_ZGVnN4vl4_modff" , FIXED(4), "_ZGV_LLVM_N4vl4" ) |
640 | |
641 | TLI_DEFINE_VECFUNC("nextafterf" , "_ZGVnN4vv_nextafterf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
642 | |
643 | TLI_DEFINE_VECFUNC("powf" , "_ZGVnN4vv_powf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
644 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "_ZGVnN4vv_powf" , FIXED(4), "_ZGV_LLVM_N4vv" ) |
645 | |
646 | TLI_DEFINE_VECFUNC("sinf" , "_ZGVnN4v_sinf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
647 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "_ZGVnN4v_sinf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
648 | |
649 | TLI_DEFINE_VECFUNC("sincosf" , "_ZGVnN4vl4l4_sincosf" , FIXED(4), "_ZGV_LLVM_N4vl4l4" ) |
650 | |
651 | TLI_DEFINE_VECFUNC("sincospif" , "_ZGVnN4vl4l4_sincospif" , FIXED(4), "_ZGV_LLVM_N4vl4l4" ) |
652 | |
653 | TLI_DEFINE_VECFUNC("sinhf" , "_ZGVnN4v_sinhf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
654 | |
655 | TLI_DEFINE_VECFUNC("sinpif" , "_ZGVnN4v_sinpif" , FIXED(4), "_ZGV_LLVM_N4v" ) |
656 | |
657 | TLI_DEFINE_VECFUNC("sqrtf" , "_ZGVnN4v_sqrtf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
658 | |
659 | TLI_DEFINE_VECFUNC("tanf" , "_ZGVnN4v_tanf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
660 | |
661 | TLI_DEFINE_VECFUNC("tanhf" , "_ZGVnN4v_tanhf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
662 | |
663 | TLI_DEFINE_VECFUNC("tgammaf" , "_ZGVnN4v_tgammaf" , FIXED(4), "_ZGV_LLVM_N4v" ) |
664 | |
665 | #elif defined(TLI_DEFINE_SLEEFGNUABI_SCALABLE_VECFUNCS) |
666 | |
667 | TLI_DEFINE_VECFUNC("acos" , "_ZGVsMxv_acos" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
668 | TLI_DEFINE_VECFUNC("acosf" , "_ZGVsMxv_acosf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
669 | |
670 | TLI_DEFINE_VECFUNC("acosh" , "_ZGVsMxv_acosh" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
671 | TLI_DEFINE_VECFUNC("acoshf" , "_ZGVsMxv_acoshf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
672 | |
673 | TLI_DEFINE_VECFUNC("asin" , "_ZGVsMxv_asin" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
674 | TLI_DEFINE_VECFUNC("asinf" , "_ZGVsMxv_asinf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
675 | |
676 | TLI_DEFINE_VECFUNC("asinh" , "_ZGVsMxv_asinh" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
677 | TLI_DEFINE_VECFUNC("asinhf" , "_ZGVsMxv_asinhf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
678 | |
679 | TLI_DEFINE_VECFUNC("atan" , "_ZGVsMxv_atan" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
680 | TLI_DEFINE_VECFUNC("atanf" , "_ZGVsMxv_atanf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
681 | |
682 | TLI_DEFINE_VECFUNC("atan2" , "_ZGVsMxvv_atan2" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
683 | TLI_DEFINE_VECFUNC("atan2f" , "_ZGVsMxvv_atan2f" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
684 | |
685 | TLI_DEFINE_VECFUNC("atanh" , "_ZGVsMxv_atanh" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
686 | TLI_DEFINE_VECFUNC("atanhf" , "_ZGVsMxv_atanhf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
687 | |
688 | TLI_DEFINE_VECFUNC("cbrt" , "_ZGVsMxv_cbrt" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
689 | TLI_DEFINE_VECFUNC("cbrtf" , "_ZGVsMxv_cbrtf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
690 | |
691 | TLI_DEFINE_VECFUNC("copysign" , "_ZGVsMxvv_copysign" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
692 | TLI_DEFINE_VECFUNC("copysignf" , "_ZGVsMxvv_copysignf" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
693 | |
694 | TLI_DEFINE_VECFUNC("cos" , "_ZGVsMxv_cos" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
695 | TLI_DEFINE_VECFUNC("cosf" , "_ZGVsMxv_cosf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
696 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "_ZGVsMxv_cos" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
697 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "_ZGVsMxv_cosf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
698 | |
699 | TLI_DEFINE_VECFUNC("cosh" , "_ZGVsMxv_cosh" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
700 | TLI_DEFINE_VECFUNC("coshf" , "_ZGVsMxv_coshf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
701 | |
702 | TLI_DEFINE_VECFUNC("cospi" , "_ZGVsMxv_cospi" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
703 | TLI_DEFINE_VECFUNC("cospif" , "_ZGVsMxv_cospif" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
704 | |
705 | TLI_DEFINE_VECFUNC("erf" , "_ZGVsMxv_erf" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
706 | TLI_DEFINE_VECFUNC("erff" , "_ZGVsMxv_erff" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
707 | |
708 | TLI_DEFINE_VECFUNC("erfc" , "_ZGVsMxv_erfc" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
709 | TLI_DEFINE_VECFUNC("erfcf" , "_ZGVsMxv_erfcf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
710 | |
711 | TLI_DEFINE_VECFUNC("exp" , "_ZGVsMxv_exp" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
712 | TLI_DEFINE_VECFUNC("expf" , "_ZGVsMxv_expf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
713 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "_ZGVsMxv_exp" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
714 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "_ZGVsMxv_expf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
715 | |
716 | TLI_DEFINE_VECFUNC("exp10" , "_ZGVsMxv_exp10" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
717 | TLI_DEFINE_VECFUNC("exp10f" , "_ZGVsMxv_exp10f" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
718 | TLI_DEFINE_VECFUNC("llvm.exp10.f64" , "_ZGVsMxv_exp10" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
719 | TLI_DEFINE_VECFUNC("llvm.exp10.f32" , "_ZGVsMxv_exp10f" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
720 | |
721 | TLI_DEFINE_VECFUNC("exp2" , "_ZGVsMxv_exp2" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
722 | TLI_DEFINE_VECFUNC("exp2f" , "_ZGVsMxv_exp2f" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
723 | TLI_DEFINE_VECFUNC("llvm.exp2.f64" , "_ZGVsMxv_exp2" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
724 | TLI_DEFINE_VECFUNC("llvm.exp2.f32" , "_ZGVsMxv_exp2f" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
725 | |
726 | TLI_DEFINE_VECFUNC("expm1" , "_ZGVsMxv_expm1" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
727 | TLI_DEFINE_VECFUNC("expm1f" , "_ZGVsMxv_expm1f" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
728 | |
729 | TLI_DEFINE_VECFUNC("fdim" , "_ZGVsMxvv_fdim" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
730 | TLI_DEFINE_VECFUNC("fdimf" , "_ZGVsMxvv_fdimf" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
731 | |
732 | TLI_DEFINE_VECFUNC("fma" , "_ZGVsMxvvv_fma" , SCALABLE(2), MASKED, "_ZGVsMxvvv" ) |
733 | TLI_DEFINE_VECFUNC("fmaf" , "_ZGVsMxvvv_fmaf" , SCALABLE(4), MASKED, "_ZGVsMxvvv" ) |
734 | |
735 | TLI_DEFINE_VECFUNC("fmax" , "_ZGVsMxvv_fmax" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
736 | TLI_DEFINE_VECFUNC("fmaxf" , "_ZGVsMxvv_fmaxf" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
737 | |
738 | TLI_DEFINE_VECFUNC("fmin" , "_ZGVsMxvv_fmin" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
739 | TLI_DEFINE_VECFUNC("fminf" , "_ZGVsMxvv_fminf" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
740 | |
741 | TLI_DEFINE_VECFUNC("fmod" , "_ZGVsMxvv_fmod" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
742 | TLI_DEFINE_VECFUNC("fmodf" , "_ZGVsMxvv_fmodf" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
743 | |
744 | TLI_DEFINE_VECFUNC("hypot" , "_ZGVsMxvv_hypot" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
745 | TLI_DEFINE_VECFUNC("hypotf" , "_ZGVsMxvv_hypotf" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
746 | |
747 | TLI_DEFINE_VECFUNC("ilogb" , "_ZGVsMxv_ilogb" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
748 | TLI_DEFINE_VECFUNC("ilogbf" , "_ZGVsMxv_ilogbf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
749 | |
750 | TLI_DEFINE_VECFUNC("ldexp" , "_ZGVsMxvv_ldexp" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
751 | TLI_DEFINE_VECFUNC("ldexpf" , "_ZGVsMxvv_ldexpf" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
752 | |
753 | TLI_DEFINE_VECFUNC("lgamma" , "_ZGVsMxv_lgamma" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
754 | TLI_DEFINE_VECFUNC("lgammaf" , "_ZGVsMxv_lgammaf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
755 | |
756 | TLI_DEFINE_VECFUNC("log" , "_ZGVsMxv_log" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
757 | TLI_DEFINE_VECFUNC("logf" , "_ZGVsMxv_logf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
758 | TLI_DEFINE_VECFUNC("llvm.log.f64" , "_ZGVsMxv_log" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
759 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "_ZGVsMxv_logf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
760 | |
761 | TLI_DEFINE_VECFUNC("log10" , "_ZGVsMxv_log10" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
762 | TLI_DEFINE_VECFUNC("log10f" , "_ZGVsMxv_log10f" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
763 | TLI_DEFINE_VECFUNC("llvm.log10.f64" , "_ZGVsMxv_log10" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
764 | TLI_DEFINE_VECFUNC("llvm.log10.f32" , "_ZGVsMxv_log10f" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
765 | |
766 | TLI_DEFINE_VECFUNC("log1p" , "_ZGVsMxv_log1p" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
767 | TLI_DEFINE_VECFUNC("log1pf" , "_ZGVsMxv_log1pf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
768 | |
769 | TLI_DEFINE_VECFUNC("log2" , "_ZGVsMxv_log2" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
770 | TLI_DEFINE_VECFUNC("log2f" , "_ZGVsMxv_log2f" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
771 | TLI_DEFINE_VECFUNC("llvm.log2.f64" , "_ZGVsMxv_log2" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
772 | TLI_DEFINE_VECFUNC("llvm.log2.f32" , "_ZGVsMxv_log2f" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
773 | |
774 | TLI_DEFINE_VECFUNC("modf" , "_ZGVsNxvl8_modf" , SCALABLE(2), NOMASK, "_ZGVsNxvl8" ) |
775 | TLI_DEFINE_VECFUNC("modff" , "_ZGVsNxvl4_modff" , SCALABLE(4), NOMASK, "_ZGVsNxvl4" ) |
776 | |
777 | TLI_DEFINE_VECFUNC("nextafter" , "_ZGVsMxvv_nextafter" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
778 | TLI_DEFINE_VECFUNC("nextafterf" , "_ZGVsMxvv_nextafterf" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
779 | |
780 | TLI_DEFINE_VECFUNC("pow" , "_ZGVsMxvv_pow" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
781 | TLI_DEFINE_VECFUNC("powf" , "_ZGVsMxvv_powf" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
782 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "_ZGVsMxvv_pow" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
783 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "_ZGVsMxvv_powf" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
784 | |
785 | TLI_DEFINE_VECFUNC("sin" , "_ZGVsMxv_sin" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
786 | TLI_DEFINE_VECFUNC("sinf" , "_ZGVsMxv_sinf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
787 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "_ZGVsMxv_sin" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
788 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "_ZGVsMxv_sinf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
789 | |
790 | TLI_DEFINE_VECFUNC("sincos" , "_ZGVsNxvl8l8_sincos" , SCALABLE(2), NOMASK, "_ZGVsNxvl8l8" ) |
791 | TLI_DEFINE_VECFUNC("sincosf" , "_ZGVsNxvl4l4_sincosf" , SCALABLE(4), NOMASK, "_ZGVsNxvl4l4" ) |
792 | |
793 | TLI_DEFINE_VECFUNC("sincospi" , "_ZGVsNxvl8l8_sincospi" , SCALABLE(2), NOMASK, "_ZGVsNxvl8l8" ) |
794 | TLI_DEFINE_VECFUNC("sincospif" , "_ZGVsNxvl4l4_sincospif" , SCALABLE(4), NOMASK, "_ZGVsNxvl4l4" ) |
795 | |
796 | TLI_DEFINE_VECFUNC("sinh" , "_ZGVsMxv_sinh" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
797 | TLI_DEFINE_VECFUNC("sinhf" , "_ZGVsMxv_sinhf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
798 | |
799 | TLI_DEFINE_VECFUNC("sinpi" , "_ZGVsMxv_sinpi" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
800 | TLI_DEFINE_VECFUNC("sinpif" , "_ZGVsMxv_sinpif" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
801 | |
802 | TLI_DEFINE_VECFUNC("sqrt" , "_ZGVsMxv_sqrt" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
803 | TLI_DEFINE_VECFUNC("sqrtf" , "_ZGVsMxv_sqrtf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
804 | |
805 | TLI_DEFINE_VECFUNC("tan" , "_ZGVsMxv_tan" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
806 | TLI_DEFINE_VECFUNC("tanf" , "_ZGVsMxv_tanf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
807 | |
808 | TLI_DEFINE_VECFUNC("tanh" , "_ZGVsMxv_tanh" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
809 | TLI_DEFINE_VECFUNC("tanhf" , "_ZGVsMxv_tanhf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
810 | |
811 | TLI_DEFINE_VECFUNC("tgamma" , "_ZGVsMxv_tgamma" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
812 | TLI_DEFINE_VECFUNC("tgammaf" , "_ZGVsMxv_tgammaf" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
813 | |
814 | #elif defined(TLI_DEFINE_ARMPL_VECFUNCS) |
815 | |
816 | TLI_DEFINE_VECFUNC("acos" , "armpl_vacosq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
817 | TLI_DEFINE_VECFUNC("acosf" , "armpl_vacosq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
818 | TLI_DEFINE_VECFUNC("acos" , "armpl_svacos_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
819 | TLI_DEFINE_VECFUNC("acosf" , "armpl_svacos_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
820 | |
821 | TLI_DEFINE_VECFUNC("acosh" , "armpl_vacoshq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
822 | TLI_DEFINE_VECFUNC("acoshf" , "armpl_vacoshq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
823 | TLI_DEFINE_VECFUNC("acosh" , "armpl_svacosh_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
824 | TLI_DEFINE_VECFUNC("acoshf" , "armpl_svacosh_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
825 | |
826 | TLI_DEFINE_VECFUNC("asin" , "armpl_vasinq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
827 | TLI_DEFINE_VECFUNC("asinf" , "armpl_vasinq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
828 | TLI_DEFINE_VECFUNC("asin" , "armpl_svasin_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
829 | TLI_DEFINE_VECFUNC("asinf" , "armpl_svasin_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
830 | |
831 | TLI_DEFINE_VECFUNC("asinh" , "armpl_vasinhq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
832 | TLI_DEFINE_VECFUNC("asinhf" , "armpl_vasinhq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
833 | TLI_DEFINE_VECFUNC("asinh" , "armpl_svasinh_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
834 | TLI_DEFINE_VECFUNC("asinhf" , "armpl_svasinh_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
835 | |
836 | TLI_DEFINE_VECFUNC("atan" , "armpl_vatanq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
837 | TLI_DEFINE_VECFUNC("atanf" , "armpl_vatanq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
838 | TLI_DEFINE_VECFUNC("atan" , "armpl_svatan_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
839 | TLI_DEFINE_VECFUNC("atanf" , "armpl_svatan_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
840 | |
841 | TLI_DEFINE_VECFUNC("atan2" , "armpl_vatan2q_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
842 | TLI_DEFINE_VECFUNC("atan2f" , "armpl_vatan2q_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
843 | TLI_DEFINE_VECFUNC("atan2" , "armpl_svatan2_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
844 | TLI_DEFINE_VECFUNC("atan2f" , "armpl_svatan2_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
845 | |
846 | TLI_DEFINE_VECFUNC("atanh" , "armpl_vatanhq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
847 | TLI_DEFINE_VECFUNC("atanhf" , "armpl_vatanhq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
848 | TLI_DEFINE_VECFUNC("atanh" , "armpl_svatanh_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
849 | TLI_DEFINE_VECFUNC("atanhf" , "armpl_svatanh_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
850 | |
851 | TLI_DEFINE_VECFUNC("cbrt" , "armpl_vcbrtq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
852 | TLI_DEFINE_VECFUNC("cbrtf" , "armpl_vcbrtq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
853 | TLI_DEFINE_VECFUNC("cbrt" , "armpl_svcbrt_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
854 | TLI_DEFINE_VECFUNC("cbrtf" , "armpl_svcbrt_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
855 | |
856 | TLI_DEFINE_VECFUNC("copysign" , "armpl_vcopysignq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
857 | TLI_DEFINE_VECFUNC("copysignf" , "armpl_vcopysignq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
858 | TLI_DEFINE_VECFUNC("copysign" , "armpl_svcopysign_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
859 | TLI_DEFINE_VECFUNC("copysignf" , "armpl_svcopysign_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
860 | |
861 | TLI_DEFINE_VECFUNC("cos" , "armpl_vcosq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
862 | TLI_DEFINE_VECFUNC("cosf" , "armpl_vcosq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
863 | TLI_DEFINE_VECFUNC("cos" , "armpl_svcos_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
864 | TLI_DEFINE_VECFUNC("cosf" , "armpl_svcos_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
865 | |
866 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "armpl_vcosq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
867 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "armpl_vcosq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
868 | TLI_DEFINE_VECFUNC("llvm.cos.f64" , "armpl_svcos_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
869 | TLI_DEFINE_VECFUNC("llvm.cos.f32" , "armpl_svcos_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
870 | |
871 | TLI_DEFINE_VECFUNC("cosh" , "armpl_vcoshq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
872 | TLI_DEFINE_VECFUNC("coshf" , "armpl_vcoshq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
873 | TLI_DEFINE_VECFUNC("cosh" , "armpl_svcosh_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
874 | TLI_DEFINE_VECFUNC("coshf" , "armpl_svcosh_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
875 | |
876 | TLI_DEFINE_VECFUNC("cospi" , "armpl_vcospiq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
877 | TLI_DEFINE_VECFUNC("cospif" , "armpl_vcospiq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
878 | TLI_DEFINE_VECFUNC("cospi" , "armpl_svcospi_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
879 | TLI_DEFINE_VECFUNC("cospif" , "armpl_svcospi_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
880 | |
881 | TLI_DEFINE_VECFUNC("erf" , "armpl_verfq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
882 | TLI_DEFINE_VECFUNC("erff" , "armpl_verfq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
883 | TLI_DEFINE_VECFUNC("erf" , "armpl_sverf_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
884 | TLI_DEFINE_VECFUNC("erff" , "armpl_sverf_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
885 | |
886 | TLI_DEFINE_VECFUNC("erfc" , "armpl_verfcq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
887 | TLI_DEFINE_VECFUNC("erfcf" , "armpl_verfcq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
888 | TLI_DEFINE_VECFUNC("erfc" , "armpl_sverfc_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
889 | TLI_DEFINE_VECFUNC("erfcf" , "armpl_sverfc_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
890 | |
891 | TLI_DEFINE_VECFUNC("exp" , "armpl_vexpq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
892 | TLI_DEFINE_VECFUNC("expf" , "armpl_vexpq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
893 | TLI_DEFINE_VECFUNC("exp" , "armpl_svexp_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
894 | TLI_DEFINE_VECFUNC("expf" , "armpl_svexp_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
895 | |
896 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "armpl_vexpq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
897 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "armpl_vexpq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
898 | TLI_DEFINE_VECFUNC("llvm.exp.f64" , "armpl_svexp_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
899 | TLI_DEFINE_VECFUNC("llvm.exp.f32" , "armpl_svexp_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
900 | |
901 | TLI_DEFINE_VECFUNC("exp10" , "armpl_vexp10q_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
902 | TLI_DEFINE_VECFUNC("exp10f" , "armpl_vexp10q_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
903 | TLI_DEFINE_VECFUNC("exp10" , "armpl_svexp10_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
904 | TLI_DEFINE_VECFUNC("exp10f" , "armpl_svexp10_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
905 | |
906 | TLI_DEFINE_VECFUNC("llvm.exp10.f64" , "armpl_vexp10q_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
907 | TLI_DEFINE_VECFUNC("llvm.exp10.f32" , "armpl_vexp10q_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
908 | TLI_DEFINE_VECFUNC("llvm.exp10.f64" , "armpl_svexp10_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
909 | TLI_DEFINE_VECFUNC("llvm.exp10.f32" , "armpl_svexp10_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
910 | |
911 | TLI_DEFINE_VECFUNC("exp2" , "armpl_vexp2q_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
912 | TLI_DEFINE_VECFUNC("exp2f" , "armpl_vexp2q_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
913 | TLI_DEFINE_VECFUNC("exp2" , "armpl_svexp2_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
914 | TLI_DEFINE_VECFUNC("exp2f" , "armpl_svexp2_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
915 | |
916 | TLI_DEFINE_VECFUNC("llvm.exp2.f64" , "armpl_vexp2q_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
917 | TLI_DEFINE_VECFUNC("llvm.exp2.f32" , "armpl_vexp2q_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
918 | TLI_DEFINE_VECFUNC("llvm.exp2.f64" , "armpl_svexp2_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
919 | TLI_DEFINE_VECFUNC("llvm.exp2.f32" , "armpl_svexp2_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
920 | |
921 | TLI_DEFINE_VECFUNC("expm1" , "armpl_vexpm1q_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
922 | TLI_DEFINE_VECFUNC("expm1f" , "armpl_vexpm1q_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
923 | TLI_DEFINE_VECFUNC("expm1" , "armpl_svexpm1_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
924 | TLI_DEFINE_VECFUNC("expm1f" , "armpl_svexpm1_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
925 | |
926 | TLI_DEFINE_VECFUNC("fdim" , "armpl_vfdimq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
927 | TLI_DEFINE_VECFUNC("fdimf" , "armpl_vfdimq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
928 | TLI_DEFINE_VECFUNC("fdim" , "armpl_svfdim_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
929 | TLI_DEFINE_VECFUNC("fdimf" , "armpl_svfdim_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
930 | |
931 | TLI_DEFINE_VECFUNC("fma" , "armpl_vfmaq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vvv" ) |
932 | TLI_DEFINE_VECFUNC("fmaf" , "armpl_vfmaq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vvv" ) |
933 | TLI_DEFINE_VECFUNC("fma" , "armpl_svfma_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvvv" ) |
934 | TLI_DEFINE_VECFUNC("fmaf" , "armpl_svfma_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvvv" ) |
935 | |
936 | TLI_DEFINE_VECFUNC("fmax" , "armpl_vfmaxq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
937 | TLI_DEFINE_VECFUNC("fmaxf" , "armpl_vfmaxq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
938 | TLI_DEFINE_VECFUNC("fmax" , "armpl_svfmax_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
939 | TLI_DEFINE_VECFUNC("fmaxf" , "armpl_svfmax_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
940 | |
941 | TLI_DEFINE_VECFUNC("fmin" , "armpl_vfminq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
942 | TLI_DEFINE_VECFUNC("fminf" , "armpl_vfminq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
943 | TLI_DEFINE_VECFUNC("fmin" , "armpl_svfmin_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
944 | TLI_DEFINE_VECFUNC("fminf" , "armpl_svfmin_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
945 | |
946 | TLI_DEFINE_VECFUNC("fmod" , "armpl_vfmodq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
947 | TLI_DEFINE_VECFUNC("fmodf" , "armpl_vfmodq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
948 | TLI_DEFINE_VECFUNC("fmod" , "armpl_svfmod_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
949 | TLI_DEFINE_VECFUNC("fmodf" , "armpl_svfmod_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
950 | |
951 | TLI_DEFINE_VECFUNC("hypot" , "armpl_vhypotq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
952 | TLI_DEFINE_VECFUNC("hypotf" , "armpl_vhypotq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
953 | TLI_DEFINE_VECFUNC("hypot" , "armpl_svhypot_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
954 | TLI_DEFINE_VECFUNC("hypotf" , "armpl_svhypot_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
955 | |
956 | TLI_DEFINE_VECFUNC("ilogb" , "armpl_vilogbq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
957 | TLI_DEFINE_VECFUNC("ilogbf" , "armpl_vilogbq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
958 | TLI_DEFINE_VECFUNC("ilogb" , "armpl_svilogb_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
959 | TLI_DEFINE_VECFUNC("ilogbf" , "armpl_svilogb_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
960 | |
961 | TLI_DEFINE_VECFUNC("ldexp" , "armpl_vldexpq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
962 | TLI_DEFINE_VECFUNC("ldexpf" , "armpl_vldexpq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
963 | TLI_DEFINE_VECFUNC("ldexp" , "armpl_svldexp_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
964 | TLI_DEFINE_VECFUNC("ldexpf" , "armpl_svldexp_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
965 | |
966 | TLI_DEFINE_VECFUNC("lgamma" , "armpl_vlgammaq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
967 | TLI_DEFINE_VECFUNC("lgammaf" , "armpl_vlgammaq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
968 | TLI_DEFINE_VECFUNC("lgamma" , "armpl_svlgamma_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
969 | TLI_DEFINE_VECFUNC("lgammaf" , "armpl_svlgamma_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
970 | |
971 | TLI_DEFINE_VECFUNC("log" , "armpl_vlogq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
972 | TLI_DEFINE_VECFUNC("logf" , "armpl_vlogq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
973 | TLI_DEFINE_VECFUNC("log" , "armpl_svlog_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
974 | TLI_DEFINE_VECFUNC("logf" , "armpl_svlog_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
975 | |
976 | TLI_DEFINE_VECFUNC("llvm.log.f64" , "armpl_vlogq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
977 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "armpl_vlogq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
978 | TLI_DEFINE_VECFUNC("llvm.log.f64" , "armpl_svlog_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
979 | TLI_DEFINE_VECFUNC("llvm.log.f32" , "armpl_svlog_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
980 | |
981 | TLI_DEFINE_VECFUNC("log10" , "armpl_vlog10q_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
982 | TLI_DEFINE_VECFUNC("log10f" , "armpl_vlog10q_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
983 | TLI_DEFINE_VECFUNC("log10" , "armpl_svlog10_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
984 | TLI_DEFINE_VECFUNC("log10f" , "armpl_svlog10_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
985 | |
986 | TLI_DEFINE_VECFUNC("llvm.log10.f64" , "armpl_vlog10q_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
987 | TLI_DEFINE_VECFUNC("llvm.log10.f32" , "armpl_vlog10q_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
988 | TLI_DEFINE_VECFUNC("llvm.log10.f64" , "armpl_svlog10_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
989 | TLI_DEFINE_VECFUNC("llvm.log10.f32" , "armpl_svlog10_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
990 | |
991 | TLI_DEFINE_VECFUNC("log1p" , "armpl_vlog1pq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
992 | TLI_DEFINE_VECFUNC("log1pf" , "armpl_vlog1pq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
993 | TLI_DEFINE_VECFUNC("log1p" , "armpl_svlog1p_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
994 | TLI_DEFINE_VECFUNC("log1pf" , "armpl_svlog1p_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
995 | |
996 | TLI_DEFINE_VECFUNC("log2" , "armpl_vlog2q_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
997 | TLI_DEFINE_VECFUNC("log2f" , "armpl_vlog2q_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
998 | TLI_DEFINE_VECFUNC("log2" , "armpl_svlog2_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
999 | TLI_DEFINE_VECFUNC("log2f" , "armpl_svlog2_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
1000 | |
1001 | TLI_DEFINE_VECFUNC("llvm.log2.f64" , "armpl_vlog2q_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
1002 | TLI_DEFINE_VECFUNC("llvm.log2.f32" , "armpl_vlog2q_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
1003 | TLI_DEFINE_VECFUNC("llvm.log2.f64" , "armpl_svlog2_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
1004 | TLI_DEFINE_VECFUNC("llvm.log2.f32" , "armpl_svlog2_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
1005 | |
1006 | TLI_DEFINE_VECFUNC("modf" , "armpl_vmodfq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vl8" ) |
1007 | TLI_DEFINE_VECFUNC("modff" , "armpl_vmodfq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vl4" ) |
1008 | |
1009 | TLI_DEFINE_VECFUNC("nextafter" , "armpl_vnextafterq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
1010 | TLI_DEFINE_VECFUNC("nextafterf" , "armpl_vnextafterq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
1011 | TLI_DEFINE_VECFUNC("nextafter" , "armpl_svnextafter_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
1012 | TLI_DEFINE_VECFUNC("nextafterf" , "armpl_svnextafter_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
1013 | |
1014 | TLI_DEFINE_VECFUNC("pow" , "armpl_vpowq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
1015 | TLI_DEFINE_VECFUNC("powf" , "armpl_vpowq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
1016 | TLI_DEFINE_VECFUNC("pow" , "armpl_svpow_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
1017 | TLI_DEFINE_VECFUNC("powf" , "armpl_svpow_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
1018 | |
1019 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "armpl_vpowq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vv" ) |
1020 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "armpl_vpowq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vv" ) |
1021 | TLI_DEFINE_VECFUNC("llvm.pow.f64" , "armpl_svpow_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxvv" ) |
1022 | TLI_DEFINE_VECFUNC("llvm.pow.f32" , "armpl_svpow_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxvv" ) |
1023 | |
1024 | TLI_DEFINE_VECFUNC("sin" , "armpl_vsinq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
1025 | TLI_DEFINE_VECFUNC("sinf" , "armpl_vsinq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
1026 | TLI_DEFINE_VECFUNC("sin" , "armpl_svsin_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
1027 | TLI_DEFINE_VECFUNC("sinf" , "armpl_svsin_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
1028 | |
1029 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "armpl_vsinq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
1030 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "armpl_vsinq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
1031 | TLI_DEFINE_VECFUNC("llvm.sin.f64" , "armpl_svsin_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
1032 | TLI_DEFINE_VECFUNC("llvm.sin.f32" , "armpl_svsin_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
1033 | |
1034 | TLI_DEFINE_VECFUNC("sincos" , "armpl_vsincosq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vl8l8" ) |
1035 | TLI_DEFINE_VECFUNC("sincosf" , "armpl_vsincosq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vl4l4" ) |
1036 | |
1037 | TLI_DEFINE_VECFUNC("sincospi" , "armpl_vsincospiq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2vl8l8" ) |
1038 | TLI_DEFINE_VECFUNC("sincospif" , "armpl_vsincospiq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4vl4l4" ) |
1039 | |
1040 | TLI_DEFINE_VECFUNC("sinh" , "armpl_vsinhq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
1041 | TLI_DEFINE_VECFUNC("sinhf" , "armpl_vsinhq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
1042 | TLI_DEFINE_VECFUNC("sinh" , "armpl_svsinh_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
1043 | TLI_DEFINE_VECFUNC("sinhf" , "armpl_svsinh_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
1044 | |
1045 | TLI_DEFINE_VECFUNC("sinpi" , "armpl_vsinpiq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
1046 | TLI_DEFINE_VECFUNC("sinpif" , "armpl_vsinpiq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
1047 | TLI_DEFINE_VECFUNC("sinpi" , "armpl_svsinpi_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
1048 | TLI_DEFINE_VECFUNC("sinpif" , "armpl_svsinpi_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
1049 | |
1050 | TLI_DEFINE_VECFUNC("sqrt" , "armpl_vsqrtq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
1051 | TLI_DEFINE_VECFUNC("sqrtf" , "armpl_vsqrtq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
1052 | TLI_DEFINE_VECFUNC("sqrt" , "armpl_svsqrt_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
1053 | TLI_DEFINE_VECFUNC("sqrtf" , "armpl_svsqrt_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
1054 | |
1055 | TLI_DEFINE_VECFUNC("tan" , "armpl_vtanq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
1056 | TLI_DEFINE_VECFUNC("tanf" , "armpl_vtanq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
1057 | TLI_DEFINE_VECFUNC("tan" , "armpl_svtan_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
1058 | TLI_DEFINE_VECFUNC("tanf" , "armpl_svtan_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
1059 | |
1060 | TLI_DEFINE_VECFUNC("tanh" , "armpl_vtanhq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
1061 | TLI_DEFINE_VECFUNC("tanhf" , "armpl_vtanhq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
1062 | TLI_DEFINE_VECFUNC("tanh" , "armpl_svtanh_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
1063 | TLI_DEFINE_VECFUNC("tanhf" , "armpl_svtanh_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
1064 | |
1065 | TLI_DEFINE_VECFUNC("tgamma" , "armpl_vtgammaq_f64" , FIXED(2), NOMASK, "_ZGV_LLVM_N2v" ) |
1066 | TLI_DEFINE_VECFUNC("tgammaf" , "armpl_vtgammaq_f32" , FIXED(4), NOMASK, "_ZGV_LLVM_N4v" ) |
1067 | TLI_DEFINE_VECFUNC("tgamma" , "armpl_svtgamma_f64_x" , SCALABLE(2), MASKED, "_ZGVsMxv" ) |
1068 | TLI_DEFINE_VECFUNC("tgammaf" , "armpl_svtgamma_f32_x" , SCALABLE(4), MASKED, "_ZGVsMxv" ) |
1069 | |
1070 | #else |
1071 | #error "Must choose which vector library functions are to be defined." |
1072 | #endif |
1073 | |
1074 | #undef MASKED |
1075 | #undef NOMASK |
1076 | #undef SCALABLE |
1077 | #undef FIXED |
1078 | |
1079 | #undef TLI_DEFINE_VECFUNC |
1080 | #undef TLI_DEFINE_ACCELERATE_VECFUNCS |
1081 | #undef TLI_DEFINE_DARWIN_LIBSYSTEM_M_VECFUNCS |
1082 | #undef TLI_DEFINE_LIBMVEC_X86_VECFUNCS |
1083 | #undef TLI_DEFINE_MASSV_VECFUNCS |
1084 | #undef TLI_DEFINE_SVML_VECFUNCS |
1085 | #undef TLI_DEFINE_SLEEFGNUABI_VF2_VECFUNCS |
1086 | #undef TLI_DEFINE_SLEEFGNUABI_VF4_VECFUNCS |
1087 | #undef TLI_DEFINE_SLEEFGNUABI_SCALABLE_VECFUNCS |
1088 | #undef TLI_DEFINE_MASSV_VECFUNCS_NAMES |
1089 | #undef TLI_DEFINE_ARMPL_VECFUNCS |
1090 | |