summaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authordorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-30 13:19:54 +0000
committerdorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-30 13:19:54 +0000
commit0618347ba5c0c3fc04f2fc73ba9d00bac0192c6a (patch)
treed060cfed08727b698c904d1e568016ba783a57b5 /gcc/tree-vectorizer.c
parent2d8277ed8bae46e4c3a27f2696fc8a593cb802a5 (diff)
downloadgcc-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.c5
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