> Ira Rosen wrote: > > Here is the link to the vectorizer's documentation: > > http://gcc.gnu.org/projects/tree-ssa/vectorization.html > > > > > > > Thanks, but I take what it says there with some grains of salt.
?? please report any inaccuracies/outdated information you find, I'd like to fix any such issues. > Yes, > -O3 implies -ftree-vectorize on x86_64, but I seem to have to specify > the option on other targets. tree-vectorize is enabled under -O3, for all targets. I don't know of any target that disabled it. There may be however targets that require additional flags to enable vectorization (like -maltivec for powerpc). Specifically, on which targets does "-O3" behaves differently than "-O3 -ftree-vectorize"? > Also, I have not understood the > limitations of -freassociative-math. I think this is a typo - should be "-fassociative-math" (I'll fix that; here's the related thread: http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00183.html). > Several gcc vectorization test cases currently throw FAIL on certain > targets, but not on others. I don't know if that is a significant issue. please report specific testcases+targets... (there are already at least a couple open PRs for failing testcases - 34168 and 34437 are the most recent ones I think. there may be more). > g++-4.3 seems well ahead of other compilers in ability to vectorize STL > iterators: > http://softwarecommunity.intel.com/Wiki/HighPerformanceComputing/688.htm > good to know. I browsed over the posting above; do you have a summary table where one could easily see which loops get vectorized by other compilers and not by gcc (and vice versa)? thanks, dorit