re PR target/15290 (__float128 failed to pass to function properly)
authorH.J. Lu <hongjiu.lu@intel.com>
Wed, 5 May 2004 20:17:08 +0000 (20:17 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Wed, 5 May 2004 20:17:08 +0000 (13:17 -0700)
2004-05-05  H.J. Lu  <hongjiu.lu@intel.com>

PR target/15290
* config/i386/i386.c (ix86_split_to_parts): Use real_to_target
instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.

From-SVN: r81537

gcc/ChangeLog
gcc/config/i386/i386.c

index 558e3a45a278f59dc5d84dfcb4004a851abd16da..975882bfe54a2f5c7d5177b6529569b265f1b136 100644 (file)
@@ -1,3 +1,9 @@
+2004-05-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/15290
+       * config/i386/i386.c (ix86_split_to_parts): Use real_to_target
+       instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
+
 2004-05-05  Mike Stump  <mrs@apple.com>
 
        * config/darwin-c.c (add_framework): Copy the directory name as it
index 5a6832ded25cd4175c10f73b448281e9ec69b9ce..2890d04f5dbecb9c19718f1e1834110fc3392684 100644 (file)
@@ -10636,7 +10636,7 @@ ix86_split_to_parts (rtx operand, rtx *parts, enum machine_mode mode)
              long l[3];
 
              REAL_VALUE_FROM_CONST_DOUBLE (r, operand);
-             REAL_VALUE_TO_TARGET_LONG_DOUBLE (r, l);
+             real_to_target (l, &r, mode);
              /* Do not use shift by 32 to avoid warning on 32bit systems.  */
              if (HOST_BITS_PER_WIDE_INT >= 64)
                parts[0]