[gcc(refs/vendors/vrull/heads/slp-improvements)] Fix: Do not rearrange load/store nodes in try_rearrange_oprnd_info

Philipp Tomsich ptomsich@gcc.gnu.org
Wed Jan 17 19:15:17 GMT 2024


https://gcc.gnu.org/g:b2db4d6d8b0cce535d774970654b62763e157ecf

commit b2db4d6d8b0cce535d774970654b62763e157ecf
Author: Manolis Tsamis <manolis.tsamis@vrull.eu>
Date:   Wed Dec 6 14:41:50 2023 +0100

    Fix: Do not rearrange load/store nodes in try_rearrange_oprnd_info
    
    Ref #342

Diff:
---
 gcc/tree-vect-slp.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
index 28defc56d29..f2ee40b25f9 100644
--- a/gcc/tree-vect-slp.cc
+++ b/gcc/tree-vect-slp.cc
@@ -1832,7 +1832,8 @@ try_rearrange_oprnd_info (vec<slp_oprnd_info> &oprnds_info, unsigned group_size)
 
   FOR_EACH_VEC_ELT (oprnds_info, i, oprnd_info)
     for (unsigned int j = 0; j < group_size; j += 1)
-      if (!oprnd_info->def_stmts[j])
+      if (!oprnd_info->def_stmts[j]
+	  || STMT_VINFO_DATA_REF (oprnd_info->def_stmts[j]))
 	return 0;
 
   int pattern = 0;


More information about the Gcc-cvs mailing list