From: Roger Sayle Date: Wed, 16 Jul 2003 19:36:38 +0000 (+0000) Subject: combine.c (subst): Also handle (subreg (const_double ...)) case if created by a subst... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cc8c96fd6d398dd6013198715b0880af2d8769d8;p=gcc.git combine.c (subst): Also handle (subreg (const_double ...)) case if created by a substitution... * combine.c (subst): Also handle (subreg (const_double ...)) case if created by a substitution, by using the original inner mode. From-SVN: r69476 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ba9356f6e6c..de703097ecf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-07-16 Roger Sayle + + * 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 * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons diff --git a/gcc/combine.c b/gcc/combine.c index 3c3172b0835..5a752014873 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -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);