diff -r 077d55401303 sys/i386/include/ieeefp.h --- a/sys/i386/include/ieeefp.h Mon Sep 11 06:14:50 2017 +0200 +++ b/sys/i386/include/ieeefp.h Wed Sep 13 07:55:20 2017 +0200 @@ -108,12 +108,12 @@ #ifdef __GNUCLIKE_ASM -#define __fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) -#define __fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr))) -#define __fnclex() __asm __volatile("fnclex") -#define __fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) -#define __fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr))) -#define __fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) +#define __I3E_fldcw(addr) __asm __volatile("fldcw %0" : : "m" (*(addr))) +#define __I3E_fldenv(addr) __asm __volatile("fldenv %0" : : "m" (*(addr))) +#define __I3E_fnclex() __asm __volatile("fnclex") +#define __I3E_fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr))) +#define __I3E_fnstenv(addr) __asm __volatile("fnstenv %0" : "=m" (*(addr))) +#define __I3E_fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr))) /* * Load the control word. Be careful not to trap if there is a currently @@ -132,15 +132,15 @@ unsigned short _sw; if ((_cw & FP_MSKS_FLD) != FP_MSKS_FLD) { - __fnstsw(&_sw); + __I3E_fnstsw(&_sw); if (((_sw & ~_cw) & FP_STKY_FLD) != 0) { - __fnstenv(&_env); + __I3E_fnstenv(&_env); _env._cw = _newcw; - __fldenv(&_env); + __I3E_fldenv(&_env); return; } } - __fldcw(&_newcw); + __I3E_fldcw(&_newcw); } static __inline fp_rnd_t @@ -148,7 +148,7 @@ { unsigned short _cw; - __fnstcw(&_cw); + __I3E_fnstcw(&_cw); return ((fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF)); } @@ -158,7 +158,7 @@ fp_rnd_t _p; unsigned short _cw, _newcw; - __fnstcw(&_cw); + __I3E_fnstcw(&_cw); _p = (fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF); _newcw = _cw & ~FP_RND_FLD; _newcw |= (_m << FP_RND_OFF) & FP_RND_FLD; @@ -171,7 +171,7 @@ { unsigned short _cw; - __fnstcw(&_cw); + __I3E_fnstcw(&_cw); return ((fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF)); } @@ -181,7 +181,7 @@ fp_prec_t _p; unsigned short _cw, _newcw; - __fnstcw(&_cw); + __I3E_fnstcw(&_cw); _p = (fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF); _newcw = _cw & ~FP_PRC_FLD; _newcw |= (_m << FP_PRC_OFF) & FP_PRC_FLD; @@ -200,7 +200,7 @@ { unsigned short _cw; - __fnstcw(&_cw); + __I3E_fnstcw(&_cw); return ((~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF); } @@ -210,7 +210,7 @@ fp_except_t _p; unsigned short _cw, _newcw; - __fnstcw(&_cw); + __I3E_fnstcw(&_cw); _p = (~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF; _newcw = _cw & ~FP_MSKS_FLD; _newcw |= (~_m << FP_MSKS_OFF) & FP_MSKS_FLD; @@ -224,7 +224,7 @@ unsigned _ex; unsigned short _sw; - __fnstsw(&_sw); + __I3E_fnstsw(&_sw); _ex = (_sw & FP_STKY_FLD) >> FP_STKY_OFF; return ((fp_except_t)_ex); } @@ -244,12 +244,12 @@ if ((_p & ~_m) == _p) return (_p); if ((_p & ~_m) == 0) { - __fnclex(); + __I3E_fnclex(); return (_p); } - __fnstenv(&_env); + __I3E_fnstenv(&_env); _env._sw &= ~_m; - __fldenv(&_env); + __I3E_fldenv(&_env); return (_p); }