https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
Jakub Jelinek jakub at gcc dot gnu.org changed:
What|Removed |Added
Target Milestone|4.9.1 |4.9.2
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #15 from Marc Glisse glisse at gcc dot gnu.org ---
Seems related to PR 57328.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org ---
Created attachment 32803
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=32803action=edit
patch
Like this.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #7 from vincenzo Innocente vincenzo.innocente at cern dot ch ---
great!
the original version (that vectorized in 4.8.1)
void barX() {
for (int i=0; i1024; ++i) {
k[i] = (x[i]0) (w[i]y[i]);
z[i] = (k[i]) ? z[i] : y[i];
}
}
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #8 from rguenther at suse dot de rguenther at suse dot de ---
On Fri, 16 May 2014, vincenzo.innocente at cern dot ch wrote:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #7 from vincenzo Innocente
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #9 from Richard Biener rguenth at gcc dot gnu.org ---
Author: rguenth
Date: Fri May 16 11:21:11 2014
New Revision: 210514
URL: http://gcc.gnu.org/viewcvs?rev=210514root=gccview=rev
Log:
2014-05-16 Richard Biener rguent...@suse.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #10 from Richard Biener rguenth at gcc dot gnu.org ---
Created attachment 32805
-- https://gcc.gnu.org/bugzilla/attachment.cgi?id=32805action=edit
patch fixing the regression
This would fix the regression (also without the previous
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #11 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to Richard Biener from comment #10)
Created attachment 32805 [details]
patch fixing the regression
This would fix the regression (also without the previous patch?)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #12 from Richard Biener rguenth at gcc dot gnu.org ---
void bar2() {
for (int i=0; i1024; ++i) {
k[i] = x[i]0; j[i] = w[i]0;
z[i] = ( k[i] j[i]) ? z[i] : y[i];
}
}
has similar issues (non-single-uses due to CSE and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #13 from vincenzo Innocente vincenzo.innocente at cern dot ch ---
I confirm that with last patch the regression is gone also in a more complex
actual application I had.
The regression concerns only comment 2 and 3.
all the other
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #14 from vincenzo Innocente vincenzo.innocente at cern dot ch ---
provided that future patches will make the code in comment 1 and 2 (and bar) go
vectorize is fine with me.
if it ends up to vectorize also with bool instead of int
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
Richard Biener rguenth at gcc dot gnu.org changed:
What|Removed |Added
Status|UNCONFIRMED |ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org ---
Actually the vectorizer punts on the comparisons itself. The pattern
recognizer handles some of them as
patt_10 = _4 0.0 ? 1 : 0;
but not those feeding the BIT expressions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61194
--- Comment #5 from vincenzo Innocente vincenzo.innocente at cern dot ch ---
of course if you can make
z[i] = ( (x[i]0) (w[i]0)) ? z[i] : y[i];
to vectorize would be even better!
14 matches
Mail list logo