[Bug tree-optimization/43432] Missed vectorization: "complicated access pattern" for increasing and decreasing data indexing

egallager at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Mar 11 02:36:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43432

Eric Gallager <egallager at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |egallager at gcc dot gnu.org

--- Comment #4 from Eric Gallager <egallager at gcc dot gnu.org> ---
(In reply to Michael Matz from comment #3)
> Subject: Bug 43432
> 
> Author: matz
> Date: Fri Sep 17 13:26:43 2010
> New Revision: 164367
> 
> URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164367
> Log:
> 	PR tree-optimization/43432
> 	* tree-vect-data-refs.c (vect_analyze_data_ref_access):
> 	Accept backwards consecutive accesses.
> 	(vect_create_data_ref_ptr): If step is negative generate
> 	decreasing IVs.
> 	* tree-vect-stmts.c (vectorizable_store): Reject negative steps.
> 	(perm_mask_for_reverse, reverse_vec_elements): New functions.
> 	(vectorizable_load): Handle loads with negative steps when easily
> 	possible.
> 
> testsuite/
> 	PR tree-optimization/43432
> 	* lib/target-supports.exp (check_effective_target_vect_perm_byte,
> 	check_effective_target_vect_perm_short): New predicates.
> 	(check_effective_target_vect_perm): Include x86_64.
> 	* gcc.dg/vect/pr43432.c: New test.
> 	* gcc.dg/vect/vect-114.c: Adjust.
> 	* gcc.dg/vect/vect-15.c: Ditto.
> 	* gcc.dg/vect/slp-perm-8.c: Use new predicate.
> 	* gcc.dg/vect/slp-perm-9.c: Ditto.
> 
> Added:
>     trunk/gcc/testsuite/gcc.dg/vect/pr43432.c
> Modified:
>     trunk/gcc/ChangeLog
>     trunk/gcc/testsuite/ChangeLog
>     trunk/gcc/testsuite/gcc.dg/vect/slp-perm-8.c
>     trunk/gcc/testsuite/gcc.dg/vect/slp-perm-9.c
>     trunk/gcc/testsuite/gcc.dg/vect/vect-114.c
>     trunk/gcc/testsuite/gcc.dg/vect/vect-15.c
>     trunk/gcc/testsuite/lib/target-supports.exp
>     trunk/gcc/tree-vect-data-refs.c
>     trunk/gcc/tree-vect-stmts.c

Did this fix it?


More information about the Gcc-bugs mailing list