This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[3.4 Committed] PR17825: Backport from mainline
- From: Roger Sayle <roger at eyesopen dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 16 Mar 2005 18:36:55 -0700 (MST)
- Subject: [3.4 Committed] PR17825: Backport from mainline
Another simple backport allows us to close this regression PR.
The following patch has been bootstrapped on i686-pc-linux-gnu against
the gcc-3_4-branch will a full "make bootstrap", all default languages,
and regression tested with a top-level "make -k check" with no new
failures.
Committed to the gcc-3_4-branch.
2005-03-16 Roger Sayle <roger@eyesopen.com>
PR rtl-optimization/17825
Backport from mainline
2004-11-27 Jakub Jelinek <jakub@redhat.com>
* combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
or not.
PR rtl-optimization/17825
Backport from mainline
2004-11-27 Jakub Jelinek <jakub@redhat.com>
* gcc.c-torture/compile/20041119-1.c: New test.
Index: combine.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/combine.c,v
retrieving revision 1.400.4.13
diff -c -3 -p -r1.400.4.13 combine.c
*** combine.c 19 Jan 2005 11:17:59 -0000 1.400.4.13
--- combine.c 16 Mar 2005 19:17:39 -0000
*************** subst (rtx x, rtx from, rtx to, int in_d
*** 3418,3427 ****
/* If this is a register being set, ignore it. */
new = XEXP (x, i);
if (in_dest
- && (code == SUBREG || code == STRICT_LOW_PART
- || code == ZERO_EXTRACT)
&& i == 0
! && GET_CODE (new) == REG)
;
else if (COMBINE_RTX_EQUAL_P (XEXP (x, i), from))
--- 3418,3427 ----
/* If this is a register being set, ignore it. */
new = XEXP (x, i);
if (in_dest
&& i == 0
! && (((code == SUBREG || code == ZERO_EXTRACT)
! && GET_CODE (new) == REG)
! || code == STRICT_LOW_PART))
;
else if (COMBINE_RTX_EQUAL_P (XEXP (x, i), from))
Roger
--