[Bug middle-end/106081] missed vectorization

2023-07-26 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug middle-end/106081] missed vectorization

2023-07-26 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #16 from CVS Commits --- The master branch has been updated by Richard Biener : https://gcc.gnu.org/g:5d09fb683a8abce49dc0992f5102aa0189f8f632 commit r14-2790-g5d09fb683a8abce49dc0992f5102aa0189f8f632 Author: Richard Biener Date:

[Bug middle-end/106081] missed vectorization

2023-07-26 Thread rguenther at suse dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #15 from rguenther at suse dot de --- On Wed, 26 Jul 2023, rsandifo at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 > > --- Comment #14 from rsandifo at gcc dot gnu.org gnu.org> --- > FWIW,

[Bug middle-end/106081] missed vectorization

2023-07-26 Thread rsandifo at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #14 from rsandifo at gcc dot gnu.org --- FWIW, changing: if (!STMT_VINFO_GROUPED_ACCESS (dr_stmt)) continue; to: if (!STMT_VINFO_GROUPED_ACCESS (dr_stmt)) {

[Bug middle-end/106081] missed vectorization

2023-07-26 Thread rsandifo at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #13 from rsandifo at gcc dot gnu.org --- (In reply to Richard Biener from comment #12) > Btw, I see we actually materialize a permute before the splat: > > t.c:14:24: note: node 0x5b311c0 (max_nunits=1, refcnt=2) vector(2)

[Bug middle-end/106081] missed vectorization

2023-07-26 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #12 from Richard Biener --- Btw, I see we actually materialize a permute before the splat: t.c:14:24: note: node 0x5b311c0 (max_nunits=1, refcnt=2) vector(2) double t.c:14:24: note: op: VEC_PERM_EXPR t.c:14:24: note:

[Bug middle-end/106081] missed vectorization

2023-07-26 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #11 from Richard Biener --- (In reply to rsand...@gcc.gnu.org from comment #10) > (In reply to Richard Biener from comment #9) [...] > > The following elides the unnecessary permutation for this special case > > (but not the general

[Bug middle-end/106081] missed vectorization

2023-07-26 Thread rsandifo at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #10 from rsandifo at gcc dot gnu.org --- (In reply to Richard Biener from comment #9) > So I can adjust change_layout_cost in a bit awkward way, but it seems that > internal_node_cost would already work out that a permute can be

[Bug middle-end/106081] missed vectorization

2023-07-26 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 Richard Biener changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org

[Bug middle-end/106081] missed vectorization

2023-07-26 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #9 from Richard Biener --- So I can adjust change_layout_cost in a bit awkward way, but it seems that internal_node_cost would already work out that a permute can be merged into an existing permute. It seems that existing permutes

[Bug middle-end/106081] missed vectorization

2023-06-28 Thread hubicka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #8 from Jan Hubicka --- Imagemagick improved by 17% on zen3 and 11% on altra https://lnt.opensuse.org/db_default/v4/SPEC/37550 https://lnt.opensuse.org/db_default/v4/SPEC/37543 which is cool :) The loop is now optimized as: .L2:

[Bug middle-end/106081] missed vectorization

2023-06-27 Thread rsandifo at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #7 from rsandifo at gcc dot gnu.org --- I don't think the splat creates a new layout, but instead a splat should be allowed to change its layout at zero cost.

[Bug middle-end/106081] missed vectorization

2023-06-27 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 Richard Biener changed: What|Removed |Added CC||rsandifo at gcc dot gnu.org ---

[Bug middle-end/106081] missed vectorization

2023-06-27 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 Bug 106081 depends on bug 96208, which changed state. Bug 96208 Summary: non-grouped load can be SLP vectorized for 2-element vectors case https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96208 What|Removed

[Bug middle-end/106081] missed vectorization

2023-06-21 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 Richard Biener changed: What|Removed |Added Depends on||96208 --- Comment #5 from Richard

[Bug middle-end/106081] missed vectorization

2022-10-23 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 Andrew Pinski changed: What|Removed |Added Severity|normal |enhancement

[Bug middle-end/106081] missed vectorization

2022-06-27 Thread hubicka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #4 from Jan Hubicka --- Thanks! It seems that imagemagick has quite few loops that inovlve consuming shorts and producing doubles. Also it would be nice to do something about __builtin_convertvector so it does not produce stupid

[Bug middle-end/106081] missed vectorization

2022-06-27 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 Richard Biener changed: What|Removed |Added Keywords||missed-optimization

[Bug middle-end/106081] missed vectorization

2022-06-27 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 Martin Liška changed: What|Removed |Added Blocks||26163 Ever confirmed|0

[Bug middle-end/106081] missed vectorization

2022-06-26 Thread crazylht at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 Hongtao.liu changed: What|Removed |Added CC||crazylht at gmail dot com --- Comment #2

[Bug middle-end/106081] missed vectorization

2022-06-24 Thread hubicka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106081 --- Comment #1 from Jan Hubicka --- This is an attempt to vectorize by hand, but it seems we do not generate vpmovsxwd for the vector short->double conversion struct pixels { short a __attribute__ ((vector_size(4*2))); } *pixels;