diff mbox series

Reduce the number of aligned_access_p calls

Message ID p92r74sp-3210-7486-9s17-r56n29pp9n87@fhfr.qr
State New
Headers show
Series Reduce the number of aligned_access_p calls | expand

Commit Message

Richard Biener Oct. 18, 2021, 1:09 p.m. UTC
This uses the computed alignment scheme in vectorizable_store
much like vectorizable_load does instead of re-querying
it via aligned_access_p.

Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

2021-10-18  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.c (vectorizable_store): Use the
	computed alignment scheme instead of querying
	aligned_access_p.
---
 gcc/tree-vect-stmts.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 0e5e553ffe8..07123a2970f 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -8213,8 +8213,11 @@  vectorizable_store (vec_info *vinfo,
 		vec_oprnd = result_chain[i];
 
 	      align = known_alignment (DR_TARGET_ALIGNMENT (first_dr_info));
-	      if (aligned_access_p (first_dr_info, vectype))
-		misalign = 0;
+	      if (alignment_support_scheme == dr_aligned)
+		{
+		  gcc_assert (aligned_access_p (first_dr_info, vectype));
+		  misalign = 0;
+		}
 	      else if (dr_misalignment (first_dr_info, vectype)
 		       == DR_MISALIGNMENT_UNKNOWN)
 		{
@@ -8299,8 +8302,8 @@  vectorizable_store (vec_info *vinfo,
 					  dataref_offset
 					  ? dataref_offset
 					  : build_int_cst (ref_type, 0));
-		  if (aligned_access_p (first_dr_info, vectype))
-		    ;
+		  if (alignment_support_scheme == dr_aligned)
+		    gcc_assert (aligned_access_p (first_dr_info, vectype));
 		  else
 		    TREE_TYPE (data_ref)
 		      = build_aligned_type (TREE_TYPE (data_ref),