This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: PATCH: Update sysdeps/x86_64/fpu_control.h
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.