diff options
author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-03 14:58:05 +0000 |
---|---|---|
committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-03 14:58:05 +0000 |
commit | 2a66066b0ac637be190eb1dbcf6fb6579238907a (patch) | |
tree | 64a3bc1b5d70f4e37f19ec8171b5d5fafd91e377 /gcc/combine.c | |
parent | 9fac35cf9b7895c9aaddba530014428393058385 (diff) | |
download | gcc-2a66066b0ac637be190eb1dbcf6fb6579238907a.tar.gz |
gcc:
2006-01-03 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/25578
* combine.c (combine_simplify_rtx, force_to_mode): Don't
pass a parameter to simplify_shift_const if changing ASHIFTRT
to LSHIFTRT.
gcc/testsuite:
2006-01-03 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/25578
* gcc.c-torture/execute/20060102-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109281 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 29ee191cba7..ab91989534e 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -1,6 +1,6 @@ /* Optimize by combining instructions for GNU compiler. Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GCC. @@ -4321,7 +4321,7 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mode, int in_dest) if (GET_CODE (temp) == ASHIFTRT && GET_CODE (XEXP (temp, 1)) == CONST_INT && INTVAL (XEXP (temp, 1)) == GET_MODE_BITSIZE (mode) - 1) - return simplify_shift_const (temp, LSHIFTRT, mode, XEXP (temp, 0), + return simplify_shift_const (NULL_RTX, LSHIFTRT, mode, XEXP (temp, 0), INTVAL (XEXP (temp, 1))); /* If X has only a single bit that might be nonzero, say, bit I, convert @@ -7103,7 +7103,7 @@ force_to_mode (rtx x, enum machine_mode mode, unsigned HOST_WIDE_INT mask, if ((mask & ~nonzero) == 0) { - x = simplify_shift_const (x, LSHIFTRT, GET_MODE (x), + x = simplify_shift_const (NULL_RTX, LSHIFTRT, GET_MODE (x), XEXP (x, 0), INTVAL (XEXP (x, 1))); if (GET_CODE (x) != ASHIFTRT) return force_to_mode (x, mode, mask, next_select); |