[GIT] ppl/ppl(master): Properly use PPL_FPMATH_MAY_USE_387 and PPL_FPMATH_MAY_USE_SSE.

Module: ppl/ppl Branch: master Commit: c4848cee2d85faa6e24745f2822a924c58b244b3 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=c4848cee2d85f...
Author: Roberto Bagnara bagnara@cs.unipr.it Date: Wed Mar 25 22:02:21 2009 +0100
Properly use PPL_FPMATH_MAY_USE_387 and PPL_FPMATH_MAY_USE_SSE.
---
src/fpu-ia32.inlines.hh | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/src/fpu-ia32.inlines.hh b/src/fpu-ia32.inlines.hh index 40f3659..6549fb7 100644 --- a/src/fpu-ia32.inlines.hh +++ b/src/fpu-ia32.inlines.hh @@ -105,7 +105,7 @@ fpu_clear_exceptions() { __asm__ __volatile__ ("fnclex" : /* No outputs. */ : : "memory"); }
-#if PPL_FPMATH_MAY_USE_SSE +#ifdef PPL_FPMATH_MAY_USE_SSE inline void sse_set_control(unsigned int cw) { __asm__ __volatile__ ("ldmxcsr %0" : : "m" (*&cw) : "memory"); @@ -121,7 +121,7 @@ sse_get_control() {
inline void fpu_initialize_control_functions() { -#if PPL_FPMATH_MAY_USE_SSE +#ifdef PPL_FPMATH_MAY_USE_SSE extern void detect_sse_unit(); detect_sse_unit(); #endif @@ -134,10 +134,10 @@ fpu_get_rounding_direction() {
inline void fpu_set_rounding_direction(fpu_rounding_direction_type dir) { -#if PPL_FPMATH_MAY_USE_387 +#ifdef PPL_FPMATH_MAY_USE_387 fpu_set_control(PPL_FPU_CONTROL_DEFAULT_BASE | dir); #endif -#if PPL_FPMATH_MAY_USE_SSE +#ifdef PPL_FPMATH_MAY_USE_SSE extern bool have_sse_unit; if (have_sse_unit) sse_set_control(PPL_SSE_CONTROL_DEFAULT_BASE | (dir << 3)); @@ -146,10 +146,10 @@ fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
inline fpu_rounding_control_word_type fpu_save_rounding_direction(fpu_rounding_direction_type dir) { -#if PPL_FPMATH_MAY_USE_387 +#ifdef PPL_FPMATH_MAY_USE_387 fpu_set_control(PPL_FPU_CONTROL_DEFAULT_BASE | dir); #endif -#if PPL_FPMATH_MAY_USE_SSE +#ifdef PPL_FPMATH_MAY_USE_SSE extern bool have_sse_unit; if (have_sse_unit) sse_set_control(PPL_SSE_CONTROL_DEFAULT_BASE | (dir << 3)); @@ -159,10 +159,10 @@ fpu_save_rounding_direction(fpu_rounding_direction_type dir) {
inline void fpu_reset_inexact() { -#if PPL_FPMATH_MAY_USE_387 +#ifdef PPL_FPMATH_MAY_USE_387 fpu_clear_exceptions(); #endif -#if PPL_FPMATH_MAY_USE_SSE +#ifdef PPL_FPMATH_MAY_USE_SSE // NOTE: on entry to this function the current rounding mode // has to be the default one. extern bool have_sse_unit; @@ -173,10 +173,10 @@ fpu_reset_inexact() {
inline void fpu_restore_rounding_direction(fpu_rounding_control_word_type) { -#if PPL_FPMATH_MAY_USE_387 +#ifdef PPL_FPMATH_MAY_USE_387 fpu_set_control(PPL_FPU_CONTROL_DEFAULT); #endif -#if PPL_FPMATH_MAY_USE_SSE +#ifdef PPL_FPMATH_MAY_USE_SSE extern bool have_sse_unit; if (have_sse_unit) sse_set_control(PPL_SSE_CONTROL_DEFAULT); @@ -185,11 +185,11 @@ fpu_restore_rounding_direction(fpu_rounding_control_word_type) {
inline int fpu_check_inexact() { -#if PPL_FPMATH_MAY_USE_387 +#ifdef PPL_FPMATH_MAY_USE_387 if (fpu_get_status() & FPU_INEXACT) return 1; #endif -#if PPL_FPMATH_MAY_USE_SSE +#ifdef PPL_FPMATH_MAY_USE_SSE extern bool have_sse_unit; if (have_sse_unit && (sse_get_control() & SSE_INEXACT)) return 1;
participants (1)
-
Roberto Bagnara