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

Roberto Bagnara bagnara at cs.unipr.it
Wed Mar 25 22:02:26 CET 2009


Module: ppl/ppl
Branch: master
Commit: c4848cee2d85faa6e24745f2822a924c58b244b3
URL:    http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=c4848cee2d85faa6e24745f2822a924c58b244b3

Author: Roberto Bagnara <bagnara at 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;




More information about the PPL-devel mailing list