re PR tree-optimization/53773 (Vectorizer generates non-canonical multiplies)
authorBill Schmidt <wschmidt@linux.ibm.com>
Tue, 31 Jul 2012 12:25:04 +0000 (12:25 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Tue, 31 Jul 2012 12:25:04 +0000 (12:25 +0000)
commit3393a7113e80689b21be74e1ff0bc7b7b6115a38
treeb5228437c04a0ba87c454b39c628730188352ba0
parent8c503f0dd33d2521a1a64f5687f2033569a46c43
re PR tree-optimization/53773 (Vectorizer generates non-canonical multiplies)

gcc:

2012-07-31  Bill Schmidt  <wschmidt@linux.ibm.com>

PR tree-optimization/53773
* tree-vectorizer.h (struct _loop_vec_info): Add operands_swapped.
(LOOP_VINFO_OPERANDS_SWAPPED): New macro.
* tree-vect-loop.c (new_loop_vec_info): Initialize
LOOP_VINFO_OPERANDS_SWAPPED field.
(destroy_loop_vec_info): Restore canonical form.
(vect_is_slp_reduction): Set LOOP_VINFO_OPERANDS_SWAPPED field.
(vect_is_simple_reduction_1): Likewise.

gcc/testsuite:

2012-07-31  Bill Schmidt  <wschmidt@linux.ibm.com>

PR tree-optimization/53773
* testsuite/gcc.dg/vect/pr53773.c: New test.

From-SVN: r190007
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/pr53773.c [new file with mode: 0644]
gcc/tree-vect-loop.c
gcc/tree-vectorizer.h