* config/sh/sh.md: Don't use union real_extract.
authorZack Weinberg <zack@codesourcery.com>
Wed, 3 Apr 2002 05:34:46 +0000 (05:34 +0000)
committerZack Weinberg <zack@gcc.gnu.org>
Wed, 3 Apr 2002 05:34:46 +0000 (05:34 +0000)
From-SVN: r51794

gcc/ChangeLog
gcc/config/sh/sh.md

index 0bff6d430e8143e833ad5c65f0d90b42a99450e4..f24e24052a7e6a56320d1e295fbd5f5b7524a398 100644 (file)
@@ -1,3 +1,7 @@
+2002-04-02  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/sh/sh.md: Don't use union real_extract.
+
 2002-04-02  Richard Henderson  <rth@redhat.com>
 
        * libgcc2.c (__bb_exit_func): Revert 03-31 change.
index ad17f117a1b1dc1cb7a8a9e1b04d936a272b1fc3..8c8f5309a872860e817ab59cfde45cc64aa9b879 100644 (file)
 {
   if (operands[1] != const0_rtx)
     {
-      union real_extract u;
-      memcpy (&u, &CONST_DOUBLE_LOW (operands[0]), sizeof u);
-      assemble_real (u.d, SFmode, GET_MODE_ALIGNMENT (SFmode));
+      REAL_VALUE_TYPE d;
+      REAL_VALUE_FROM_CONST_DOUBLE (d, operands[0]);
+      assemble_real (d, SFmode, GET_MODE_ALIGNMENT (SFmode));
     }
   return \"\";
 }"
 {
   if (operands[1] != const0_rtx)
     {
-      union real_extract u;
-      memcpy (&u, &CONST_DOUBLE_LOW (operands[0]), sizeof u);
-      assemble_real (u.d, DFmode, GET_MODE_ALIGNMENT (DFmode));
+      REAL_VALUE_TYPE d;
+      REAL_VALUE_FROM_CONST_DOUBLE (d, operands[0]);
+      assemble_real (d, DFmode, GET_MODE_ALIGNMENT (DFmode));
     }
   return \"\";
 }"