http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45216
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Mon May 13 11:04:26 2013 New Revision: 198823 URL: http://gcc.gnu.org/viewcvs?rev=198823&root=gcc&view=rev Log: PR tree-optimization/45216 PR tree-optimization/57157 * tree-ssa-forwprop.c (simplify_rotate): Only recognize the (-Y) & (B - 1) variant if OP is |. * expmed.c (expand_shift_1): For rotations by const0_rtx just return shifted. Use (-op1) & (prec - 1) as other_amount instead of prec - op1. * c-c++-common/rotate-1.c: Add 32 tests with +. * c-c++-common/rotate-1a.c: Adjust. * c-c++-common/rotate-2.c: Add 32 tests with +, expect only 48 rotates. * c-c++-common/rotate-2b.c: New test. * c-c++-common/rotate-3.c: Add 32 tests with +. * c-c++-common/rotate-4.c: Add 32 tests with +, expect only 48 rotates. * c-c++-common/rotate-4b.c: New test. * c-c++-common/rotate-5.c: New test. Added: trunk/gcc/testsuite/c-c++-common/rotate-5.c Modified: trunk/gcc/ChangeLog trunk/gcc/expmed.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/c-c++-common/rotate-1.c trunk/gcc/testsuite/c-c++-common/rotate-1a.c trunk/gcc/testsuite/c-c++-common/rotate-2.c trunk/gcc/testsuite/c-c++-common/rotate-3.c trunk/gcc/testsuite/c-c++-common/rotate-4.c trunk/gcc/tree-ssa-forwprop.c