[Bug tree-optimization/92834] misssed SLP vectorization in LightPixel
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 6 11:24:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92834
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org,
| |rguenth at gcc dot gnu.org,
| |rsandifo at gcc dot gnu.org
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
t.C:260:16: missed: Build SLP failed: incompatible vector types for: patt_288
= (unsigned char) patt_290;
t.C:260:16: note: old vector type: vector(8) unsigned char
t.C:260:16: note: new vector type: vector(4) unsigned char
we're also re-trying for all vector sizes even though the above issue
will prevail.
But one of the main issues is likely that we don't pattern match
static inline unsigned umax(unsigned a, unsigned b) {
return a - ((a - b) & -(a < b));
}
static inline unsigned umin(unsigned a, unsigned b) {
return a - ((a - b) & -(a > b));
}
I wonder if they desperately searched for sth not handled by GCC ;)
Btw, my copy of clang (OK, 7.0...) doesn't vectorize the color.components[]
compute but only the leading three-component compute involving reverse
sqrt, not vectorized by us because we don't handle BB vectorization of
reductions. There's duplicate PRs about this.
Which part is important to vectorize?
Also - what flags did you use? (tried -Ofast -mavx2)
More information about the Gcc-bugs
mailing list