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: RFA: Avoid versioning loop with unaligned step


On Fri, Dec 21, 2018 at 12:46:41AM +0100, Jakub Jelinek wrote:
> The following patch makes it build again, will commit as obvious if it
> passes bootstrap/regtest:
> 
> 2018-12-21  Jakub Jelinek  <jakub@redhat.com>
> 
> 	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Use
> 	DR_TARGET_ALIGNMENT on dr_info rather than dr.
> 
> --- gcc/tree-vect-data-refs.c.jj	2018-12-21 00:40:50.000000000 +0100
> +++ gcc/tree-vect-data-refs.c	2018-12-21 00:43:35.786222062 +0100
> @@ -2168,7 +2168,7 @@ vect_enhance_data_refs_alignment (loop_v
>  		 done by doing some iterations of the non-vectorized loop.  */
>  	      if (!multiple_p (LOOP_VINFO_VECT_FACTOR (loop_vinfo)
>  			       * DR_STEP_ALIGNMENT (dr),
> -			       DR_TARGET_ALIGNMENT (dr)))
> +			       DR_TARGET_ALIGNMENT (dr_info)))
>  		{
>  		  do_versioning = false;
>  		  break;
> 

Here is what I've actually committed, some spelling errors fixed too:

2018-12-21  Jakub Jelinek  <jakub@redhat.com>

	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Use
	DR_TARGET_ALIGNMENT on dr_info rather than dr.  Spelling fixes.

--- gcc/tree-vect-data-refs.c.jj	2018-12-21 00:40:50.000000000 +0100
+++ gcc/tree-vect-data-refs.c	2018-12-21 00:43:35.786222062 +0100
@@ -2163,12 +2163,12 @@ vect_enhance_data_refs_alignment (loop_v
 	      /* Forcing alignment in the first iteration is no good if
 		 we don't keep it across iterations.  For now, just disable
 		 versioning in this case.
-		 ?? We could actually unroll the loop to archive the required
-		 overall step alignemnt, and forcing the alignment could be
+		 ?? We could actually unroll the loop to achieve the required
+		 overall step alignment, and forcing the alignment could be
 		 done by doing some iterations of the non-vectorized loop.  */
 	      if (!multiple_p (LOOP_VINFO_VECT_FACTOR (loop_vinfo)
 			       * DR_STEP_ALIGNMENT (dr),
-			       DR_TARGET_ALIGNMENT (dr)))
+			       DR_TARGET_ALIGNMENT (dr_info)))
 		{
 		  do_versioning = false;
 		  break;


	Jakub


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