r265876 - in /trunk/gcc: ChangeLog testsuite/Ch...
rguenth@gcc.gnu.org
rguenth@gcc.gnu.org
Wed Nov 7 15:01:00 GMT 2018
Author: rguenth
Date: Wed Nov 7 15:01:09 2018
New Revision: 265876
URL: https://gcc.gnu.org/viewcvs?rev=265876&root=gcc&view=rev
Log:
2018-11-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/87914
* tree-vect-loop.c (vect_is_simple_reduction): Improve detection
of nested cycles.
(vectorizable_reduction): Handle shifts and rotates by dispatching
to vectorizable_shift.
* tree-vect-stmts.c (vect_get_vec_def_for_operand_1): Handle
in-loop uses of vect_nested_cycle defs. Merge cycle and internal
def cases.
(vectorizable_shift): Export and handle being called as
vect_nested_cycle.
(vect_analyze_stmt): Call vectorizable_shift after
vectorizable_reduction.
* tree-vectorizer.h (vectorizable_shift): Declare.
* lib/target-supports.exp (check_effective_target_vect_var_shift): New.
(check_avx2_available): Likewise.
* g++.dg/vect/pr87914.cc: New testcase.
Added:
trunk/gcc/testsuite/g++.dg/vect/pr87914.cc
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/lib/target-supports.exp
trunk/gcc/tree-vect-loop.c
trunk/gcc/tree-vect-stmts.c
trunk/gcc/tree-vectorizer.h
More information about the Gcc-cvs
mailing list