diff options
author | dorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-30 13:19:54 +0000 |
---|---|---|
committer | dorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-30 13:19:54 +0000 |
commit | 0618347ba5c0c3fc04f2fc73ba9d00bac0192c6a (patch) | |
tree | d060cfed08727b698c904d1e568016ba783a57b5 /gcc/tree-vectorizer.c | |
parent | 2d8277ed8bae46e4c3a27f2696fc8a593cb802a5 (diff) | |
download | gcc-0618347ba5c0c3fc04f2fc73ba9d00bac0192c6a.tar.gz |
* 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
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r-- | gcc/tree-vectorizer.c | 5 |
1 files changed, 4 insertions, 1 deletions
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 |