This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR52298


On Tue, 28 Feb 2012, Ulrich Weigand wrote:

> Richard Guenther wrote:
> > On Fri, Feb 24, 2012 at 2:16 PM, Ulrich Weigand <uweigand@de.ibm.com> wrote:
> > > this looks to me that, since the check is intended to verify that
> > > "misalignment remains the same throughout the execuction of the loop",
> > > we actually want to check the inner-loop step here as well, i.e. revert
> > > this chunk of your patch ...
> > 
> > Hmm.  I have to admit I don't know the outer loop vectorization code very
> > well, but the comments indeed suggest that revering that hunk is ok.  Can
> > you check that patch on powerpc and commit it if it works ok?
> 
> I'm testing the following patch.
> 
> On spu-elf, testing has completed with no regressions; all the
> vect-outer- tests now pass again.
> 
> On powerpc64-linux, testing is still ongoing (I had to re-do the
> baseline run ... b.t.w. this showed that the vect-outer- tests
> also fail on this target currently).
> 
> OK once testing has completed successfully on powerpc?

Ok.

Thanks,
Richard.

> Bye,
> Ulrich
> 
> ChangeLog:
> 
> 	Partially revert:
> 
> 	2012-02-20  Richard Guenther  <rguenther@suse.de>
> 	PR tree-optimization/52298
> 	* tree-vect-stmts.c (vectorizable_load): Properly use
> 	STMT_VINFO_DR_STEP instead of DR_STEP when vectorizing
> 	outer loops.
> 
> 
> Index: gcc/tree-vect-stmts.c
> ===================================================================
> *** gcc/tree-vect-stmts.c	(revision 184503)
> --- gcc/tree-vect-stmts.c	(working copy)
> *************** vectorizable_load (gimple stmt, gimple_s
> *** 4659,4665 ****
>        nested within an outer-loop that is being vectorized.  */
>   
>     if (nested_in_vect_loop
> !       && (TREE_INT_CST_LOW (STMT_VINFO_DR_STEP (stmt_info))
>   	  % GET_MODE_SIZE (TYPE_MODE (vectype)) != 0))
>       {
>         gcc_assert (alignment_support_scheme != dr_explicit_realign_optimized);
> --- 4659,4665 ----
>        nested within an outer-loop that is being vectorized.  */
>   
>     if (nested_in_vect_loop
> !       && (TREE_INT_CST_LOW (DR_STEP (dr))
>   	  % GET_MODE_SIZE (TYPE_MODE (vectype)) != 0))
>       {
>         gcc_assert (alignment_support_scheme != dr_explicit_realign_optimized);
> 
> 

-- 
Richard Guenther <rguenther@suse.de>
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]