diff options
Diffstat (limited to 'lib/msun/powerpc/fenv.h')
-rw-r--r-- | lib/msun/powerpc/fenv.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/msun/powerpc/fenv.h b/lib/msun/powerpc/fenv.h index 33de3750a93a..8fbecd7c0806 100644 --- a/lib/msun/powerpc/fenv.h +++ b/lib/msun/powerpc/fenv.h @@ -87,8 +87,13 @@ extern const fenv_t __fe_dfl_env; FE_OVERFLOW | FE_UNDERFLOW) >> _FPUSW_SHIFT) #ifndef _SOFT_FLOAT +#ifdef __SPE__ +#define __mffs(__env) __asm __volatile("mfspr %0, 512" : "=r" (*(__env))) +#define __mtfsf(__env) __asm __volatile("mtspr 512,%0" : : "r" (__env)) +#else #define __mffs(__env) __asm __volatile("mffs %0" : "=f" (*(__env))) #define __mtfsf(__env) __asm __volatile("mtfsf 255,%0" : : "f" (__env)) +#endif #else #define __mffs(__env) #define __mtfsf(__env) |