------- Comment #2 from irar at il dot ibm dot com 2009-06-28 10:57 -------
So, the solution is to prevent vectorization of volatile types, like in the
patch below?
Index: tree-vect-data-refs.c
===================================================================
--- tree-vect-data-refs.c (revision 149023)
+++ tree-vect-data-refs.c (working copy)
@@ -1896,6 +1896,14 @@ vect_analyze_data_refs (loop_vec_info lo
return false;
}
+ if (TYPE_VOLATILE (TREE_TYPE (DR_REF (dr))))
+ {
+ if (vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS))
+ fprintf (vect_dump, "not vectorized: memory access of volatile "
+ "type");
+ return false;
+ }
+
stmt = DR_STMT (dr);
stmt_info = vinfo_for_stmt (stmt);
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40542