1/*
2Copyright (c) 1990 The Regents of the University of California.
3All rights reserved.
4
5Redistribution and use in source and binary forms are permitted
6provided that the above copyright notice and this paragraph are
7duplicated in all such forms and that any documentation,
8and/or other materials related to such
9distribution and use acknowledge that the software was developed
10by the University of California, Berkeley.  The name of the
11University may not be used to endorse or promote products derived
12from this software without specific prior written permission.
13THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16 */
17	.globl	_fast_sin
18_fast_sin:
19	fsin.l	[ap],[ap]
20	mov.d	[ap],r0
21	ret	#0
22
23
24	.globl	_fast_sinf
25_fast_sinf:
26	fsin.s	[ap],[ap]
27	mov.w	[ap],r0
28	ret	#0
29
30
31	.globl	_fast_cos
32_fast_cos:
33	fcos.l	[ap],[ap]
34	mov.d	[ap],r0
35	ret	#0
36
37
38	.globl	_fast_cosf
39_fast_cosf:
40	fcos.s	[ap],[ap]
41	mov.w	[ap],r0
42	ret	#0
43
44
45	.globl	_fast_tan
46_fast_tan:
47	ftan.l	[ap],[ap]
48	mov.d	[ap],r0
49	ret	#0
50
51
52	.globl	_fast_tanf
53_fast_tanf:
54	ftan.s	[ap],[ap]
55	mov.w	[ap],r0
56	ret	#0
57
58
59
60	.globl	_fast_fabs
61_fast_fabs:
62	fabs.l	[ap],[ap]
63	mov.d	[ap],r0
64	ret	#0
65
66
67	.globl	_fast_fabsf
68_fast_fabsf:
69	fabs.s	[ap],[ap]
70	mov.w	[ap],r0
71	ret	#0
72
73
74	.globl	_fast_sqrt
75_fast_sqrt:
76	fsqrt.l	[ap],[ap]
77	mov.d	[ap],r0
78	ret	#0
79
80
81	.globl	_fast_sqrtf
82_fast_sqrtf:
83	fsqrt.s	[ap],[ap]
84	mov.w	[ap],r0
85	ret	#0
86
87
88	.globl	_fast_acos
89_fast_acos:
90	facos.l	[ap],[ap]
91	mov.d	[ap],r0
92	ret	#0
93
94
95	.globl	_fast_acosf
96_fast_acosf:
97	facos.s	[ap],[ap]
98	mov.w	[ap],r0
99	ret	#0
100
101
102	.globl	_fast_asin
103_fast_asin:
104	fasin.l	[ap],[ap]
105	mov.d	[ap],r0
106	ret	#0
107
108
109	.globl	_fast_asinf
110_fast_asinf:
111	fasin.s	[ap],[ap]
112	mov.w	[ap],r0
113	ret	#0
114
115
116	.globl	_fast_atan
117_fast_atan:
118	fatan.l	[ap],[ap]
119	mov.d	[ap],r0
120	ret	#0
121
122
123	.globl	_fast_atanf
124_fast_atanf:
125	fatan.s	[ap],[ap]
126	mov.w	[ap],r0
127	ret	#0
128
129
130	.globl	_fast_cosh
131_fast_cosh:
132	fcosh.l	[ap],[ap]
133	mov.d	[ap],r0
134	ret	#0
135
136
137	.globl	_fast_coshf
138_fast_coshf:
139	fcosh.s	[ap],[ap]
140	mov.w	[ap],r0
141	ret	#0
142
143
144	.globl	_fast_sinh
145_fast_sinh:
146	fsin.l	[ap],[ap]
147	mov.d	[ap],r0
148	ret	#0
149
150
151	.globl	_fast_sinhf
152_fast_sinhf:
153	fsin.s	[ap],[ap]
154	mov.w	[ap],r0
155	ret	#0
156
157
158	.globl	_fast_tanh
159_fast_tanh:
160	ftanh.l	[ap],[ap]
161	mov.d	[ap],r0
162	ret	#0
163
164
165	.globl	_fast_tanhf
166_fast_tanhf:
167	ftanh.s	[ap],[ap]
168	mov.w	[ap],r0
169	ret	#0
170
171
172	.globl	_fast_atanh
173_fast_atanh:
174	fatanh.l	[ap],[ap]
175	mov.d	[ap],r0
176	ret	#0
177
178
179	.globl	_fast_atanhf
180_fast_atanhf:
181	fatanh.s	[ap],[ap]
182	mov.w	[ap],r0
183	ret	#0
184
185	.globl	_fast_exp2
186_fast_exp2:
187	fexp2.l	[ap],[ap]
188	mov.d	[ap],r0
189	ret	#0
190
191
192	.globl	_fast_exp2f
193_fast_exp2f:
194	fexp2.s	[ap],[ap]
195	mov.w	[ap],r0
196	ret	#0
197
198
199	.globl	_fast_exp10
200_fast_exp10:
201	fexp10.l	[ap],[ap]
202	mov.d	[ap],r0
203	ret	#0
204
205
206	.globl	_fast_exp10f
207_fast_exp10f:
208	fexp10.s	[ap],[ap]
209	mov.w	[ap],r0
210	ret	#0
211
212
213	.globl	_fast_expe
214_fast_expe:
215	fexpe.l	[ap],[ap]
216	mov.d	[ap],r0
217	ret	#0
218
219
220	.globl	_fast_expef
221_fast_expef:
222	fexpe.s	[ap],[ap]
223	mov.w	[ap],r0
224	ret	#0
225
226
227	.globl	_fast_log2
228_fast_log2:
229	flog2.l	[ap],[ap]
230	mov.d	[ap],r0
231	ret	#0
232
233
234	.globl	_fast_log2f
235_fast_log2f:
236	flog2.s	[ap],[ap]
237	mov.w	[ap],r0
238	ret	#0
239
240	.globl	_fast_log10
241_fast_log10:
242	flog10.l	[ap],[ap]
243	mov.d	[ap],r0
244	ret	#0
245
246
247	.globl	_fast_log10f
248_fast_log10f:
249	flog10.s	[ap],[ap]
250	mov.w	[ap],r0
251	ret	#0
252
253
254	.globl	_fast_loge
255_fast_loge:
256	floge.l	[ap],[ap]
257	mov.d	[ap],r0
258	ret	#0
259
260
261	.globl	_fast_logef
262_fast_logef:
263	floge.s	[ap],[ap]
264	mov.w	[ap],r0
265	ret	#0
266
267
268