OSDN Git Service

* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Jun 2011 18:52:58 +0000 (18:52 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Jun 2011 18:52:58 +0000 (18:52 +0000)
get_pointer_alignment to see if base isn't sufficiently aligned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175348 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-vect-data-refs.c

index 1d1dbd1..fad0966 100644 (file)
@@ -1,3 +1,8 @@
+2011-06-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
+       get_pointer_alignment to see if base isn't sufficiently aligned.
+
 2011-06-23  Jan Hubicka  <jh@suse.cz>
 
        PR tree-optimize/49373
index c98eb13..9a2c5b6 100644 (file)
@@ -859,7 +859,9 @@ vect_compute_data_ref_alignment (struct data_reference *dr)
       || (TREE_CODE (base_addr) == SSA_NAME
          && tree_int_cst_compare (ssize_int (TYPE_ALIGN_UNIT (TREE_TYPE (
                                                      TREE_TYPE (base_addr)))),
-                                  alignment) >= 0))
+                                  alignment) >= 0)
+      || (get_pointer_alignment (base_addr, TYPE_ALIGN (vectype))
+         >= TYPE_ALIGN (vectype)))
     base_aligned = true;
   else
     base_aligned = false;