cse.c
240 KB
-
re PR rtl-optimization/26244 (FAIL: gcc.c-torture/execute/builtin-bitops-1.c… · 824a4527
re PR rtl-optimization/26244 (FAIL: gcc.c-torture/execute/builtin-bitops-1.c execution, -O3 -fomit-frame-pointer -funroll-loops) 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. Co-Authored-By: Roger Sayle <roger@eyesopen.com> From-SVN: r115924
John David Anglin committed