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