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