emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT.
authorRichard Henderson <rth@cygnus.com>
Tue, 6 Apr 1999 15:49:17 +0000 (08:49 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 6 Apr 1999 15:49:17 +0000 (08:49 -0700)
        * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT.
        Clear third and following slots, if they exist.

From-SVN: r26221

gcc/ChangeLog
gcc/emit-rtl.c

index 831557c19bc0234b41fe32da02c86ca1b5dbe7e7..79d7c164ee8a1038eea1d1973903485e08087002 100644 (file)
@@ -1,3 +1,8 @@
+Tue Apr  6 15:47:51 1999  Richard Henderson  <rth@cygnus.com>
+
+       * emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT.
+       Clear third and following slots, if they exist.
+
 Tue Apr  6 15:45:28 1999  Richard Henderson  <rth@cygnus.com>
 
        * flow.c (create_basic_block): Make sure the bb note is in the block.
index 4df1a6a5ba9bd2b6bcdcb14ae36117a6f8f9adf8..e4142b482d7ad979352a820b0c11cfd2e0e12385 100644 (file)
@@ -273,10 +273,17 @@ gen_rtx_CONST_DOUBLE (mode, arg0, arg1, arg2)
      HOST_WIDE_INT arg1, arg2;
 {
   rtx r = rtx_alloc (CONST_DOUBLE);
+  int i;
+
   PUT_MODE (r, mode);
   XEXP (r, 0) = arg0;
-  XINT (r, 2) = arg1;
-  XINT (r, 3) = arg2;
+  XEXP (r, 1) = NULL_RTX;
+  XWINT (r, 2) = arg1;
+  XWINT (r, 3) = arg2;
+
+  for (i = GET_RTX_LENGTH (CONST_DOUBLE) - 1; i > 3; --i)
+    XWINT (r, i) = 0;
+
   return r;
 }