[Bug tree-optimization/53295] Vectorizer support for non-constant strided loads depends on gather support overwriting the data-ref with bogus data
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri May 11 12:04:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53295
--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-05-11 12:03:19 UTC ---
Author: rguenth
Date: Fri May 11 12:03:10 2012
New Revision: 187402
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187402
Log:
2012-05-11 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53295
* tree-data-ref.h (stride_of_unit_type_p): Handle non-constant
strides.
* tree-data-ref.c (dr_analyze_innermost): Allow non-constant
strides when analyzing data-references in a loop context.
* tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Reject
non-constant strides for now.
(vect_enhance_data_refs_alignment): Ignore data references
that are strided loads.
(vect_analyze_data_ref_access): Handle non-constant strides.
(vect_check_strided_load): Verify the data-reference is a load.
(vect_analyze_data_refs): Restructure to make strided load
support not dependent on gather support.
* tree-vect-stmts.c (vectorizable_load): Avoid useless work
when doing strided or gather loads.
* tree-vect-loop-manip.c (vect_vfa_segment_size): Use
integer_zerop to compare stride with zero.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-data-ref.c
trunk/gcc/tree-data-ref.h
trunk/gcc/tree-vect-data-refs.c
trunk/gcc/tree-vect-loop-manip.c
trunk/gcc/tree-vect-stmts.c
More information about the Gcc-bugs
mailing list