http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54156
--- Comment #2 from Igor Zamyatin <izamyatin at gmail dot com> 2012-08-01 15:57:42 UTC --- Author: wschmidt <wschmidt@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue Jul 31 12:25:04 2012 +0000 gcc: 2012-07-31 Bill Schmidt <wschm...@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 <wschm...@linux.ibm.com> PR tree-optimization/53773 * testsuite/gcc.dg/vect/pr53773.c: New test Seems for x86 output is different