]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR tree-optimization/52633 (Compiler ICE in vect_is_simple_use_1 (ARM))
authorUlrich Weigand <ulrich.weigand@linaro.org>
Fri, 4 May 2012 12:46:04 +0000 (12:46 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Fri, 4 May 2012 12:46:04 +0000 (12:46 +0000)
commit33018845ebb6f93f8d664253b5d77f0c0187b74c
tree56c691e07c1a6e95679faaa805e2259418d41bbd
parent9a7a4398d3b33eb4ea3be8094e7a381921f6a4f6
re PR tree-optimization/52633 (Compiler ICE in vect_is_simple_use_1 (ARM))

gcc/
PR tree-optimization/52633
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Swap order of
vect_recog_widen_shift_pattern and vect_recog_over_widening_pattern.
(vect_recog_over_widening_pattern): Remove handling of code that was
already detected as over-widening pattern.  Remove special handling
of "unsigned" cases.  Instead, support general case of conversion
of the shift result to another type.

gcc/testsuite/
PR tree-optimization/52633
* gcc.dg/vect/vect-over-widen-1.c: Two patterns should now be
recognized as widening shifts instead of over-widening.
* gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-4.c: Likewise.
* gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise.
* gcc.target/arm/pr52633.c: New test.

From-SVN: r187158
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-over-widen-1-big-array.c
gcc/testsuite/gcc.dg/vect/vect-over-widen-1.c
gcc/testsuite/gcc.dg/vect/vect-over-widen-4-big-array.c
gcc/testsuite/gcc.dg/vect/vect-over-widen-4.c
gcc/testsuite/gcc.target/arm/pr52633.c [new file with mode: 0644]
gcc/tree-vect-patterns.c