aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ"orn Rennecke <joern.rennecke@st.com>2009-08-11 20:24:11 +0000
committerJ"orn Rennecke <joern.rennecke@st.com>2009-08-11 20:24:11 +0000
commit5d23e125fcf83be6715c0620fc0de5c7831523a4 (patch)
treeda9bbf6eebd2813debfcd4ac0b78a05ba046adc1
parent7446c80da5a9f93bb2decde820785e1e1087f52a (diff)
* tree-vectorizer.c (vectorize_loops): If override requests unsuitable
target, don't vectorize. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/milepost-integration@150666 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.mpost3
-rw-r--r--gcc/tree-vectorizer.c6
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog.mpost b/gcc/ChangeLog.mpost
index 235a491e1b0..64c7bf72cdb 100644
--- a/gcc/ChangeLog.mpost
+++ b/gcc/ChangeLog.mpost
@@ -33,6 +33,9 @@
vectorization factor to features.
Print message about override to dump file instead of to stdout.
+ * tree-vectorizer.c (vectorize_loops): If override requests unsuitable
+ target, don't vectorize.
+
2009-06-04 J"orn Rennecke <joern.rennecke@arc.com>
* toplev.c: Include pass-manager.h
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index bec458f7db0..277862ddd87 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -2811,6 +2811,12 @@ vectorize_loops (void)
targetm_pnt = targetm_array[best_arch];
loop_vinfo = vect_analyze_loop (loop);
target_arch = best_arch;
+ if (override_arch >= 0 && !LOOP_VINFO_VECTORIZABLE_P (loop_vinfo))
+ {
+ if (vect_print_dump_info (REPORT_DETAILS))
+ fprintf (vect_dump, "Override failed\n");
+ best_arch = -1;
+ }
}
targetm_pnt = targetm_array[cfun->target_arch];
loop->aux = loop_vinfo;