[Bug tree-optimization/55645] skipping unlike branch in vectorized loops using movmsk or equivalent

2012-12-11 Thread vincenzo.innocente at cern dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55645 --- Comment #5 from vincenzo Innocente 2012-12-11 14:34:45 UTC --- in principle, one could add the movmsk unconditionally (well, if advantagious) after the compare and evaluate only one one of legs of the branch in case the result is 0 o

[Bug tree-optimization/55645] skipping unlike branch in vectorized loops using movmsk or equivalent

2012-12-11 Thread vincenzo.innocente at cern dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55645 --- Comment #4 from vincenzo Innocente 2012-12-11 10:43:21 UTC --- sure use c[i]=std::sqrt(a[i]/b[i]); Recent literature is plenty of examples mostly related to GPU code see for instance Random Variable Recycling - Numerical Algorithm

[Bug tree-optimization/55645] skipping unlike branch in vectorized loops using movmsk or equivalent

2012-12-11 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55645 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Co

[Bug tree-optimization/55645] skipping unlike branch in vectorized loops using movmsk or equivalent

2012-12-11 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55645 --- Comment #2 from Marc Glisse 2012-12-11 10:03:27 UTC --- (In reply to comment #0) > // possible syntax > void compute() { > for (int i=0;i!=1024;++i) { > if likely(a[i] c[i]=a[i]+b[i]; > else // rare > c[i]=a[i]-b[

[Bug tree-optimization/55645] skipping unlike branch in vectorized loops using movmsk or equivalent

2012-12-11 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55645 Richard Biener changed: What|Removed |Added Keywords||missed-optimization