OSDN Git Service

PR rtl-optimization/26244
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Aug 2006 14:15:37 +0000 (14:15 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 4 Aug 2006 14:15:37 +0000 (14:15 +0000)
commit0518a4654158e334d3947b485dc2fec353e80e9b
tree5409dbf0f47dca9a57cdfb0b9da22af3175d67e5
parent7412ead0d624068d2370401cc768b6185ce2b59a
PR rtl-optimization/26244
* cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or
inner_const are negative or greater than or equal to the bitsize of
MODE.  If SHIFT_COUNT_TRUNCATED is false, the values aren't associated.
Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1.
Simplify complicated if statement.  For ASHIFT and LSHIFTRT, return
CONST0_RTX (mode) when the new shift count is greater than or equal to
to the bitsize of the object being shifted and XEXP (y, 0) has no side
effects.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115924 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cse.c