diff options
Diffstat (limited to 'meta/recipes-core/glibc/glibc/0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch')
-rw-r--r-- | meta/recipes-core/glibc/glibc/0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch | 387 |
1 files changed, 387 insertions, 0 deletions
diff --git a/meta/recipes-core/glibc/glibc/0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch b/meta/recipes-core/glibc/glibc/0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch new file mode 100644 index 0000000000..743bea1433 --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0010-__ieee754_sqrt-f-are-now-inline-functions-and-call-o.patch | |||
@@ -0,0 +1,387 @@ | |||
1 | From 670b5d70ab62b42ab02a8e18b8fcee2879b8c4a0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 18 Mar 2015 00:16:38 +0000 | ||
4 | Subject: [PATCH 10/29] __ieee754_sqrt{,f} are now inline functions and call | ||
5 | out __slow versions | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
10 | --- | ||
11 | sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | 12 ++++++++++-- | ||
12 | sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | 8 +++++++- | ||
13 | sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | 14 +++++++++++--- | ||
14 | sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | 12 ++++++++++-- | ||
15 | sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | 14 +++++++++++--- | ||
16 | sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | 12 ++++++++++-- | ||
17 | sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | 8 ++++++++ | ||
18 | sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | 8 ++++++++ | ||
19 | sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | 12 ++++++++++-- | ||
20 | sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | 9 ++++++++- | ||
21 | sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | 14 +++++++++++--- | ||
22 | sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | 12 ++++++++++-- | ||
23 | 12 files changed, 114 insertions(+), 21 deletions(-) | ||
24 | |||
25 | diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | ||
26 | index 1795fd6c3e..daa83f3fe8 100644 | ||
27 | --- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | ||
28 | +++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c | ||
29 | @@ -40,7 +40,7 @@ static const float half = 0.5; | ||
30 | simultaneously. */ | ||
31 | |||
32 | double | ||
33 | -__ieee754_sqrt (double b) | ||
34 | +__slow_ieee754_sqrt (double b) | ||
35 | { | ||
36 | if (__builtin_expect (b > 0, 1)) | ||
37 | { | ||
38 | @@ -77,7 +77,7 @@ __ieee754_sqrt (double b) | ||
39 | |||
40 | /* Handle small numbers by scaling. */ | ||
41 | if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) | ||
42 | - return __ieee754_sqrt (b * two108) * twom54; | ||
43 | + return __slow_ieee754_sqrt (b * two108) * twom54; | ||
44 | |||
45 | #define FMADD(a_, c_, b_) \ | ||
46 | ({ double __r; \ | ||
47 | @@ -126,4 +126,12 @@ __ieee754_sqrt (double b) | ||
48 | } | ||
49 | return f_wash (b); | ||
50 | } | ||
51 | + | ||
52 | +#undef __ieee754_sqrt | ||
53 | +double | ||
54 | +__ieee754_sqrt (double x) | ||
55 | +{ | ||
56 | + return __slow_ieee754_sqrt (x); | ||
57 | +} | ||
58 | + | ||
59 | strong_alias (__ieee754_sqrt, __sqrt_finite) | ||
60 | diff --git a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | ||
61 | index a917f313ab..b812cf1705 100644 | ||
62 | --- a/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | ||
63 | +++ b/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c | ||
64 | @@ -38,7 +38,7 @@ static const float threehalf = 1.5; | ||
65 | square root. */ | ||
66 | |||
67 | float | ||
68 | -__ieee754_sqrtf (float b) | ||
69 | +__slow_ieee754_sqrtf (float b) | ||
70 | { | ||
71 | if (__builtin_expect (b > 0, 1)) | ||
72 | { | ||
73 | @@ -93,4 +93,10 @@ __ieee754_sqrtf (float b) | ||
74 | } | ||
75 | return f_washf (b); | ||
76 | } | ||
77 | +#undef __ieee754_sqrtf | ||
78 | +float | ||
79 | +__ieee754_sqrtf (float x) | ||
80 | +{ | ||
81 | + return __slow_ieee754_sqrtf (x); | ||
82 | +} | ||
83 | strong_alias (__ieee754_sqrtf, __sqrtf_finite) | ||
84 | diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | ||
85 | index fc4a74990e..7038a70b47 100644 | ||
86 | --- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | ||
87 | +++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c | ||
88 | @@ -41,10 +41,10 @@ static const float half = 0.5; | ||
89 | |||
90 | #ifdef __STDC__ | ||
91 | double | ||
92 | -__ieee754_sqrt (double b) | ||
93 | +__slow_ieee754_sqrt (double b) | ||
94 | #else | ||
95 | double | ||
96 | -__ieee754_sqrt (b) | ||
97 | +__slow_ieee754_sqrt (b) | ||
98 | double b; | ||
99 | #endif | ||
100 | { | ||
101 | @@ -83,7 +83,7 @@ __ieee754_sqrt (b) | ||
102 | |||
103 | /* Handle small numbers by scaling. */ | ||
104 | if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) | ||
105 | - return __ieee754_sqrt (b * two108) * twom54; | ||
106 | + return __slow_ieee754_sqrt (b * two108) * twom54; | ||
107 | |||
108 | #define FMADD(a_, c_, b_) \ | ||
109 | ({ double __r; \ | ||
110 | @@ -132,4 +132,12 @@ __ieee754_sqrt (b) | ||
111 | } | ||
112 | return f_wash (b); | ||
113 | } | ||
114 | + | ||
115 | +#undef __ieee754_sqrt | ||
116 | +double | ||
117 | +__ieee754_sqrt (double x) | ||
118 | +{ | ||
119 | + return __slow_ieee754_sqrt (x); | ||
120 | +} | ||
121 | + | ||
122 | strong_alias (__ieee754_sqrt, __sqrt_finite) | ||
123 | diff --git a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | ||
124 | index 9d175122a8..10de1f0cc3 100644 | ||
125 | --- a/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | ||
126 | +++ b/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c | ||
127 | @@ -39,10 +39,10 @@ static const float threehalf = 1.5; | ||
128 | |||
129 | #ifdef __STDC__ | ||
130 | float | ||
131 | -__ieee754_sqrtf (float b) | ||
132 | +__slow_ieee754_sqrtf (float b) | ||
133 | #else | ||
134 | float | ||
135 | -__ieee754_sqrtf (b) | ||
136 | +__slow_ieee754_sqrtf (b) | ||
137 | float b; | ||
138 | #endif | ||
139 | { | ||
140 | @@ -99,4 +99,12 @@ __ieee754_sqrtf (b) | ||
141 | } | ||
142 | return f_washf (b); | ||
143 | } | ||
144 | + | ||
145 | +#undef __ieee754_sqrtf | ||
146 | +float | ||
147 | +__ieee754_sqrtf (float x) | ||
148 | +{ | ||
149 | + return __slow_ieee754_sqrtf (x); | ||
150 | +} | ||
151 | + | ||
152 | strong_alias (__ieee754_sqrtf, __sqrtf_finite) | ||
153 | diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | ||
154 | index fc4a74990e..7038a70b47 100644 | ||
155 | --- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | ||
156 | +++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c | ||
157 | @@ -41,10 +41,10 @@ static const float half = 0.5; | ||
158 | |||
159 | #ifdef __STDC__ | ||
160 | double | ||
161 | -__ieee754_sqrt (double b) | ||
162 | +__slow_ieee754_sqrt (double b) | ||
163 | #else | ||
164 | double | ||
165 | -__ieee754_sqrt (b) | ||
166 | +__slow_ieee754_sqrt (b) | ||
167 | double b; | ||
168 | #endif | ||
169 | { | ||
170 | @@ -83,7 +83,7 @@ __ieee754_sqrt (b) | ||
171 | |||
172 | /* Handle small numbers by scaling. */ | ||
173 | if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) | ||
174 | - return __ieee754_sqrt (b * two108) * twom54; | ||
175 | + return __slow_ieee754_sqrt (b * two108) * twom54; | ||
176 | |||
177 | #define FMADD(a_, c_, b_) \ | ||
178 | ({ double __r; \ | ||
179 | @@ -132,4 +132,12 @@ __ieee754_sqrt (b) | ||
180 | } | ||
181 | return f_wash (b); | ||
182 | } | ||
183 | + | ||
184 | +#undef __ieee754_sqrt | ||
185 | +double | ||
186 | +__ieee754_sqrt (double x) | ||
187 | +{ | ||
188 | + return __slow_ieee754_sqrt (x); | ||
189 | +} | ||
190 | + | ||
191 | strong_alias (__ieee754_sqrt, __sqrt_finite) | ||
192 | diff --git a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | ||
193 | index 9d175122a8..10de1f0cc3 100644 | ||
194 | --- a/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | ||
195 | +++ b/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c | ||
196 | @@ -39,10 +39,10 @@ static const float threehalf = 1.5; | ||
197 | |||
198 | #ifdef __STDC__ | ||
199 | float | ||
200 | -__ieee754_sqrtf (float b) | ||
201 | +__slow_ieee754_sqrtf (float b) | ||
202 | #else | ||
203 | float | ||
204 | -__ieee754_sqrtf (b) | ||
205 | +__slow_ieee754_sqrtf (b) | ||
206 | float b; | ||
207 | #endif | ||
208 | { | ||
209 | @@ -99,4 +99,12 @@ __ieee754_sqrtf (b) | ||
210 | } | ||
211 | return f_washf (b); | ||
212 | } | ||
213 | + | ||
214 | +#undef __ieee754_sqrtf | ||
215 | +float | ||
216 | +__ieee754_sqrtf (float x) | ||
217 | +{ | ||
218 | + return __slow_ieee754_sqrtf (x); | ||
219 | +} | ||
220 | + | ||
221 | strong_alias (__ieee754_sqrtf, __sqrtf_finite) | ||
222 | diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | ||
223 | index fc4a74990e..1c34244bd8 100644 | ||
224 | --- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | ||
225 | +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c | ||
226 | @@ -132,4 +132,12 @@ __ieee754_sqrt (b) | ||
227 | } | ||
228 | return f_wash (b); | ||
229 | } | ||
230 | + | ||
231 | +#undef __ieee754_sqrt | ||
232 | +double | ||
233 | +__ieee754_sqrt (double x) | ||
234 | +{ | ||
235 | + return __slow_ieee754_sqrt (x); | ||
236 | +} | ||
237 | + | ||
238 | strong_alias (__ieee754_sqrt, __sqrt_finite) | ||
239 | diff --git a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | ||
240 | index 9d175122a8..812653558f 100644 | ||
241 | --- a/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | ||
242 | +++ b/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c | ||
243 | @@ -99,4 +99,12 @@ __ieee754_sqrtf (b) | ||
244 | } | ||
245 | return f_washf (b); | ||
246 | } | ||
247 | + | ||
248 | +#undef __ieee754_sqrtf | ||
249 | +float | ||
250 | +__ieee754_sqrtf (float x) | ||
251 | +{ | ||
252 | + return __slow_ieee754_sqrtf (x); | ||
253 | +} | ||
254 | + | ||
255 | strong_alias (__ieee754_sqrtf, __sqrtf_finite) | ||
256 | diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | ||
257 | index 1795fd6c3e..13a81973e3 100644 | ||
258 | --- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | ||
259 | +++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c | ||
260 | @@ -40,7 +40,7 @@ static const float half = 0.5; | ||
261 | simultaneously. */ | ||
262 | |||
263 | double | ||
264 | -__ieee754_sqrt (double b) | ||
265 | +__slow_ieee754_sqrt (double b) | ||
266 | { | ||
267 | if (__builtin_expect (b > 0, 1)) | ||
268 | { | ||
269 | @@ -77,7 +77,7 @@ __ieee754_sqrt (double b) | ||
270 | |||
271 | /* Handle small numbers by scaling. */ | ||
272 | if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) | ||
273 | - return __ieee754_sqrt (b * two108) * twom54; | ||
274 | + return __slow_ieee754_sqrt (b * two108) * twom54; | ||
275 | |||
276 | #define FMADD(a_, c_, b_) \ | ||
277 | ({ double __r; \ | ||
278 | @@ -126,4 +126,12 @@ __ieee754_sqrt (double b) | ||
279 | } | ||
280 | return f_wash (b); | ||
281 | } | ||
282 | + | ||
283 | +#undef __ieee754_sqrt | ||
284 | +double | ||
285 | +__ieee754_sqrt (double x) | ||
286 | +{ | ||
287 | + return __slow_ieee754_sqrt (x); | ||
288 | +} | ||
289 | + | ||
290 | strong_alias (__ieee754_sqrt, __sqrt_finite) | ||
291 | diff --git a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | ||
292 | index a917f313ab..fae2d81210 100644 | ||
293 | --- a/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | ||
294 | +++ b/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c | ||
295 | @@ -38,7 +38,7 @@ static const float threehalf = 1.5; | ||
296 | square root. */ | ||
297 | |||
298 | float | ||
299 | -__ieee754_sqrtf (float b) | ||
300 | +__slow_ieee754_sqrtf (float b) | ||
301 | { | ||
302 | if (__builtin_expect (b > 0, 1)) | ||
303 | { | ||
304 | @@ -93,4 +93,11 @@ __ieee754_sqrtf (float b) | ||
305 | } | ||
306 | return f_washf (b); | ||
307 | } | ||
308 | +#undef __ieee754_sqrtf | ||
309 | +float | ||
310 | +__ieee754_sqrtf (float x) | ||
311 | +{ | ||
312 | + return __slow_ieee754_sqrtf (x); | ||
313 | +} | ||
314 | + | ||
315 | strong_alias (__ieee754_sqrtf, __sqrtf_finite) | ||
316 | diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | ||
317 | index fc4a74990e..7038a70b47 100644 | ||
318 | --- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | ||
319 | +++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c | ||
320 | @@ -41,10 +41,10 @@ static const float half = 0.5; | ||
321 | |||
322 | #ifdef __STDC__ | ||
323 | double | ||
324 | -__ieee754_sqrt (double b) | ||
325 | +__slow_ieee754_sqrt (double b) | ||
326 | #else | ||
327 | double | ||
328 | -__ieee754_sqrt (b) | ||
329 | +__slow_ieee754_sqrt (b) | ||
330 | double b; | ||
331 | #endif | ||
332 | { | ||
333 | @@ -83,7 +83,7 @@ __ieee754_sqrt (b) | ||
334 | |||
335 | /* Handle small numbers by scaling. */ | ||
336 | if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) | ||
337 | - return __ieee754_sqrt (b * two108) * twom54; | ||
338 | + return __slow_ieee754_sqrt (b * two108) * twom54; | ||
339 | |||
340 | #define FMADD(a_, c_, b_) \ | ||
341 | ({ double __r; \ | ||
342 | @@ -132,4 +132,12 @@ __ieee754_sqrt (b) | ||
343 | } | ||
344 | return f_wash (b); | ||
345 | } | ||
346 | + | ||
347 | +#undef __ieee754_sqrt | ||
348 | +double | ||
349 | +__ieee754_sqrt (double x) | ||
350 | +{ | ||
351 | + return __slow_ieee754_sqrt (x); | ||
352 | +} | ||
353 | + | ||
354 | strong_alias (__ieee754_sqrt, __sqrt_finite) | ||
355 | diff --git a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | ||
356 | index 9d175122a8..10de1f0cc3 100644 | ||
357 | --- a/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | ||
358 | +++ b/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c | ||
359 | @@ -39,10 +39,10 @@ static const float threehalf = 1.5; | ||
360 | |||
361 | #ifdef __STDC__ | ||
362 | float | ||
363 | -__ieee754_sqrtf (float b) | ||
364 | +__slow_ieee754_sqrtf (float b) | ||
365 | #else | ||
366 | float | ||
367 | -__ieee754_sqrtf (b) | ||
368 | +__slow_ieee754_sqrtf (b) | ||
369 | float b; | ||
370 | #endif | ||
371 | { | ||
372 | @@ -99,4 +99,12 @@ __ieee754_sqrtf (b) | ||
373 | } | ||
374 | return f_washf (b); | ||
375 | } | ||
376 | + | ||
377 | +#undef __ieee754_sqrtf | ||
378 | +float | ||
379 | +__ieee754_sqrtf (float x) | ||
380 | +{ | ||
381 | + return __slow_ieee754_sqrtf (x); | ||
382 | +} | ||
383 | + | ||
384 | strong_alias (__ieee754_sqrtf, __sqrtf_finite) | ||
385 | -- | ||
386 | 2.27.0 | ||
387 | |||