From cc8c96fd6d398dd6013198715b0880af2d8769d8 Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Wed, 16 Jul 2003 19:36:38 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/combine.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) 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);