mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-10 07:10:06 +00:00
Make math_force_eval accept non-addressable arguments
This commit is contained in:
parent
e0016b11d6
commit
f6ce9294b0
@ -1,3 +1,9 @@
|
||||
2011-10-26 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* math/math_private.h (math_force_eval): Allow non-addressable
|
||||
arguments.
|
||||
* sysdeps/i386/fpu/math_private.h (math_force_eval): Likewise.
|
||||
|
||||
2011-10-25 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
* sysdeps/ieee754/dbl-64/e_rem_pio2.c: Comment everything out, the
|
||||
|
@ -354,8 +354,9 @@ extern void __docos (double __x, double __dx, double __v[]);
|
||||
|
||||
#ifndef math_opt_barrier
|
||||
#define math_opt_barrier(x) \
|
||||
({ __typeof (x) __x = x; __asm ("" : "+m" (__x)); __x; })
|
||||
#define math_force_eval(x) __asm __volatile ("" : : "m" (x))
|
||||
({ __typeof (x) __x = (x); __asm ("" : "+m" (__x)); __x; })
|
||||
#define math_force_eval(x) \
|
||||
({ __typeof (x) __x = (x); __asm __volatile ("" : : "m" (__x)); })
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -1,16 +1,17 @@
|
||||
#ifndef _MATH_PRIVATE_H
|
||||
|
||||
#define math_opt_barrier(x) \
|
||||
({ __typeof(x) __x; \
|
||||
({ __typeof (x) __x; \
|
||||
__asm ("" : "=t" (__x) : "0" (x)); \
|
||||
__x; })
|
||||
#define math_force_eval(x) \
|
||||
do \
|
||||
{ \
|
||||
__typeof (x) __x = (x); \
|
||||
if (sizeof (x) <= sizeof (double)) \
|
||||
__asm __volatile ("" : : "m" (x)); \
|
||||
__asm __volatile ("" : : "m" (__x)); \
|
||||
else \
|
||||
__asm __volatile ("" : : "f" (x)); \
|
||||
__asm __volatile ("" : : "f" (__x)); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user