------- Comment #33 from danglin at gcc dot gnu dot org 2006-08-04 14:15 ------- Subject: Bug 26244
Author: danglin Date: Fri Aug 4 14:15:37 2006 New Revision: 115924 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115924 Log: 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. Modified: trunk/gcc/ChangeLog trunk/gcc/cse.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26244