(split_double) : Use REAL_VALUE macros to extract ints
authorRichard Stallman <rms@gnu.org>
Wed, 31 Mar 1993 05:46:40 +0000 (05:46 +0000)
committerRichard Stallman <rms@gnu.org>
Wed, 31 Mar 1993 05:46:40 +0000 (05:46 +0000)
from float mode CONST_DOUBLEs.

From-SVN: r3937

gcc/final.c

index 1c1080f46ed1cb74e1abf8ee7226d8b16e995f92..cd21940bf4fa1ecd622b2fa6b80c9986cfaf81ea 100644 (file)
@@ -2524,6 +2524,13 @@ split_double (value, first, second)
     }
   else
     {
+#ifdef REAL_ARITHMETIC
+      REAL_VALUE_TYPE r; HOST_WIDE_INT l[2];
+      REAL_VALUE_FROM_CONST_DOUBLE (r, value);
+      REAL_VALUE_TO_TARGET_DOUBLE (r, l);
+      *first = GEN_INT (l[0]);
+      *second = GEN_INT (l[1]);
+#else
       if ((HOST_FLOAT_FORMAT != TARGET_FLOAT_FORMAT
           || HOST_BITS_PER_WIDE_INT != BITS_PER_WORD)
          && ! flag_pretend_float)
@@ -2537,6 +2544,7 @@ split_double (value, first, second)
       *second = GEN_INT (CONST_DOUBLE_LOW (value));
       *first = GEN_INT (CONST_DOUBLE_HIGH (value));
 #endif
+#endif /* no REAL_ARITHMETIC */
     }
 }
 \f