* tree-vect-patterns.c (vect_recog_rotate_pattern): For
	vect_external_def oprnd1 with loop_vinfo, try to emit
	optional cast, negation and and stmts on the loop preheader
	edge instead of into the pattern def seq.

	* gcc.target/i386/rotate-4.c: Compile only with -mavx
	instead of -mavx2, require only avx instead of avx2.
	* gcc.target/i386/rotate-4a.c: Include avx-check.h instead
	of avx2-check.h and turn into an avx runtime test instead of
	avx2 runtime test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199005 138bc75d-0d04-0410-961f-82ee72b054a4
Add tree-ssa-strlen optimization.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199006 138bc75d-0d04-0410-961f-82ee72b054a4