PR tree-optimization/45216
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 May 2013 11:04:26 +0000 (11:04 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 13 May 2013 11:04:26 +0000 (11:04 +0000)
commit043ce67745a1fe56010dfbe273d2a83dae9eaf00
tree6346bea605532f76d3b46ee9bfb0d6588ee811de
parent096295f6c740cd12cd5257029ae9c08b7bdd22ac
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198823 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/expmed.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/rotate-1.c
gcc/testsuite/c-c++-common/rotate-1a.c
gcc/testsuite/c-c++-common/rotate-2.c
gcc/testsuite/c-c++-common/rotate-3.c
gcc/testsuite/c-c++-common/rotate-4.c
gcc/testsuite/c-c++-common/rotate-5.c [new file with mode: 0644]
gcc/tree-ssa-forwprop.c