]> gcc.gnu.org Git - gcc.git/commitdiff
combine.c (subst): Also handle (subreg (const_double ...)) case if created by a subst...
authorRoger Sayle <roger@eyesopen.com>
Wed, 16 Jul 2003 19:36:38 +0000 (19:36 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Wed, 16 Jul 2003 19:36:38 +0000 (19:36 +0000)
* combine.c (subst): Also handle (subreg (const_double ...)) case
if created by a substitution, by using the original inner mode.

From-SVN: r69476

gcc/ChangeLog
gcc/combine.c

index ba9356f6e6c5e45b0dde2fad50f9dd7f6610b63e..de703097ecf0376a6f9d10ef490bcad91459afa6 100644 (file)
@@ -1,3 +1,8 @@
+2003-07-16  Roger Sayle  <roger@eyesopen.com>
+
+       * combine.c (subst): Also handle (subreg (const_double ...)) case
+       if created by a substitution, by using the original inner mode.
+
 2003-07-16  Roger Sayle  <roger@eyesopen.com>
 
        * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
index 3c3172b0835bf909f3675c42dcedf1e16da02ee7..5a752014873fe3b4be7d7faedba37427b82d481c 100644 (file)
@@ -3476,7 +3476,9 @@ subst (rtx x, rtx from, rtx to, int in_dest, int unique_copy)
              if (GET_CODE (new) == CLOBBER && XEXP (new, 0) == const0_rtx)
                return new;
 
-             if (GET_CODE (new) == CONST_INT && GET_CODE (x) == SUBREG)
+             if (GET_CODE (x) == SUBREG
+                 && (GET_CODE (new) == CONST_INT
+                     || GET_CODE (new) == CONST_DOUBLE))
                {
                  enum machine_mode mode = GET_MODE (x);
 
This page took 0.085453 seconds and 5 git commands to generate.