PATCH: Update sysdeps/x86_64/fpu_control.h
H.J. Lu
hjl.tools@gmail.com
Sun Jun 17 20:39:00 GMT 2012
On Sun, Jun 17, 2012 at 1:11 PM, Roland McGrath <roland@hack.frob.com> wrote:
>> +/* Macros for accessing the hardware control word.
>> +
>> + Note that the use of these macros is no sufficient anymore with
>
> "not sufficient"
Fixed.
>> + recent hardware. Some floating point operations are executed in
>> + the SSE/SSE2 engines which have their own control and status register. */
>> +#define _FPU_GETCW(cw) __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw))
>> +#define _FPU_SETCW(cw) __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw))
>
> Why *&? That seems like a no-op. There should be a comment explaining the
"*&" was added by Ulrich on Aug 26, 1996, I couldn't find anything beyond
that. It could be a workaround for a compiler bug.
> need for volatile.
__volatile__ was added by
http://sourceware.org/ml/libc-alpha/2004-11/msg00150.html
--
H.J.
More information about the Libc-alpha
mailing list