From 0618347ba5c0c3fc04f2fc73ba9d00bac0192c6a Mon Sep 17 00:00:00 2001 From: dorit Date: Tue, 30 Nov 2004 13:19:54 +0000 Subject: [PATCH] * tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for decls that are assembled before vectorization takes place. (vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91517 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 7 +++++++ gcc/tree-vectorizer.c | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ff6a404d837..bade2ffd717 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-11-30 Dorit Naishlos + + PR tree-opt/18173 + * tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for + decls that are assembled before vectorization takes place. + (vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1. + 2004-11-30 Ulrich Weigand * passes.c (rest_of_handle_old_regalloc): Delete unreachable blocks diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index 57739931beb..d476d813ff2 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -1509,6 +1509,9 @@ vect_can_force_dr_alignment_p (tree decl, unsigned int alignment) if (DECL_EXTERNAL (decl)) return false; + if (TREE_ASM_WRITTEN (decl)) + return false; + if (TREE_STATIC (decl)) return (alignment <= MAX_OFILE_ALIGNMENT); else @@ -4130,7 +4133,7 @@ vect_compute_data_ref_alignment (struct data_reference *dr, if (vect_debug_details (NULL)) fprintf (dump_file, "force alignment"); DECL_ALIGN (base) = TYPE_ALIGN (vectype); - DECL_USER_ALIGN (base) = TYPE_ALIGN (vectype); + DECL_USER_ALIGN (base) = 1; } /* At this point we assume that the base is aligned, and the offset from it -- 2.11.4.GIT