[Bug tree-optimization/40542] [4.3/4.4/4.5 Regression] vectorizes access to volatile array
--- Comment #4 from irar at gcc dot gnu dot org 2009-06-30 11:33 --- Subject: Bug 40542 Author: irar Date: Tue Jun 30 11:33:27 2009 New Revision: 149090 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149090 Log: PR tree-optimization/40542 * tree-vect-stmts.c (vect_analyze_stmt): Don't vectorize volatile types. Added: trunk/gcc/testsuite/gcc.dg/vect/pr40542.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-stmts.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40542
[Bug tree-optimization/40542] [4.3/4.4/4.5 Regression] vectorizes access to volatile array
--- Comment #5 from irar at gcc dot gnu dot org 2009-06-30 11:49 --- Subject: Bug 40542 Author: irar Date: Tue Jun 30 11:48:51 2009 New Revision: 149091 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149091 Log: PR tree-optimization/40542 * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't vectorize volatile types. Added: branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/vect/pr40542.c Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/testsuite/ChangeLog branches/gcc-4_3-branch/gcc/tree-vect-analyze.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40542
[Bug tree-optimization/40542] [4.3/4.4/4.5 Regression] vectorizes access to volatile array
--- Comment #6 from irar at gcc dot gnu dot org 2009-06-30 11:56 --- Subject: Bug 40542 Author: irar Date: Tue Jun 30 11:56:21 2009 New Revision: 149092 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149092 Log: PR tree-optimization/40542 * tree-vect-analyze.c (vect_determine_vectorization_factor): Don't vectorize volatile types. Added: branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/vect/pr40542.c Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/testsuite/ChangeLog branches/gcc-4_4-branch/gcc/tree-vect-analyze.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40542
[Bug tree-optimization/40542] [4.3/4.4/4.5 Regression] vectorizes access to volatile array
--- Comment #7 from irar at il dot ibm dot com 2009-06-30 12:02 --- Fixed. -- irar at il dot ibm dot com changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40542
[Bug tree-optimization/40542] [4.3/4.4/4.5 Regression] vectorizes access to volatile array
--- 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
[Bug tree-optimization/40542] [4.3/4.4/4.5 Regression] vectorizes access to volatile array
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-06-28 14:43 --- More like if (gimple_has_volatile_ops (stmt)) ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40542
[Bug tree-optimization/40542] [4.3/4.4/4.5 Regression] vectorizes access to volatile array
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-06-24 14:02 --- Confirmed. void volarr_cpy(char *d, volatile char *s) { int i; for ( i=0; i16; i++ ) d[i]=s[i]; } -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Component|c |tree-optimization Ever Confirmed|0 |1 GCC build triplet|x86_64-unkown-linux | GCC host triplet|x86_64-unknown-linux| GCC target triplet|x86_64-unknown-linux, i386- | |unknown-linux, i386-unknown-| |rtems, po | Keywords||wrong-code Last reconfirmed|-00-00 00:00:00 |2009-06-24 14:02:05 date|| Summary|gcc-4.3.3 vectorizes access |[4.3/4.4/4.5 Regression] |to volatile array |vectorizes access to ||volatile array Target Milestone|--- |4.3.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40542