OSDN Git Service

(struct rtx_const): Add new field DI to union.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Aug 1995 23:04:04 +0000 (23:04 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Aug 1995 23:04:04 +0000 (23:04 +0000)
(decode_rtx_const, case CONST_DOUBLE): Use to hash CONST_DOUBLE
representing an integer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10304 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/varasm.c

index 77b0ea9..42b81fa 100644 (file)
@@ -2954,6 +2954,7 @@ struct rtx_const
   union {
     union real_extract du;
     struct addr_const addr;
+    struct {HOST_WIDE_INT high, low;} di;
   } un;
 };
 
@@ -2984,9 +2985,16 @@ decode_rtx_const (mode, x, value)
     case CONST_DOUBLE:
       value->kind = RTX_DOUBLE;
       if (GET_MODE (x) != VOIDmode)
-       value->mode = GET_MODE (x);
-      bcopy ((char *) &CONST_DOUBLE_LOW (x),
-            (char *) &value->un.du, sizeof value->un.du);
+       {
+         value->mode = GET_MODE (x);
+         bcopy ((char *) &CONST_DOUBLE_LOW (x),
+                (char *) &value->un.du, sizeof value->un.du);
+       }
+      else
+       {
+         value->un.di.low = CONST_DOUBLE_LOW (x);
+         value->un.di.high = CONST_DOUBLE_HIGH (x);
+       }
       break;
 
     case CONST_INT: