[Bug target/97194] optimize vector element set/extract at variable position

2022-01-11 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 Richard Biener changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug target/97194] optimize vector element set/extract at variable position

2021-07-06 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #25 from CVS Commits --- The master branch has been updated by Uros Bizjak : https://gcc.gnu.org/g:f65878178ab05180a5937f11f8fdb755678a82ce commit r12-2085-gf65878178ab05180a5937f11f8fdb755678a82ce Author: Uros Bizjak Date: Tue

[Bug target/97194] optimize vector element set/extract at variable position

2021-06-17 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #24 from CVS Commits --- The master branch has been updated by Uros Bizjak : https://gcc.gnu.org/g:20a2c8ace0ab56c147fd995432abd5e7cf89b0e3 commit r12-1563-g20a2c8ace0ab56c147fd995432abd5e7cf89b0e3 Author: Uros Bizjak Date: Thu

[Bug target/97194] optimize vector element set/extract at variable position

2020-11-16 Thread crazylht at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #23 from Hongtao.liu --- Fixed in GCC11, may need a bit adjustment for the modeless operand(the variable index) as dicussed in https://gcc.gnu.org/pipermail/gcc-patches/2020-November/559213.html

[Bug target/97194] optimize vector element set/extract at variable position

2020-11-16 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #22 from CVS Commits --- The master branch has been updated by hongtao Liu : https://gcc.gnu.org/g:287cc750b0887e86cb309d976b17c7ee95f7ad48 commit r11-5074-g287cc750b0887e86cb309d976b17c7ee95f7ad48 Author: liuhongt Date: Mon Oct

[Bug target/97194] optimize vector element set/extract at variable position

2020-10-16 Thread rguenther at suse dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #21 from rguenther at suse dot de --- On Fri, 16 Oct 2020, crazylht at gmail dot com wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 > > --- Comment #20 from Hongtao.liu --- > (In reply to Richard Biener from comment

[Bug target/97194] optimize vector element set/extract at variable position

2020-10-16 Thread crazylht at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #20 from Hongtao.liu --- (In reply to Richard Biener from comment #18) > (In reply to Hongtao.liu from comment #16) > > (In reply to Hongtao.liu from comment #15) > > > I'm working on add the expander, i encounter a problem. > > > >

[Bug target/97194] optimize vector element set/extract at variable position

2020-10-16 Thread crazylht at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #19 from Hongtao.liu --- (In reply to Richard Biener from comment #17) > (In reply to Hongtao.liu from comment #15) > > I'm working on add the expander, i encounter a problem. > > > > for V32HI vec_set with constant index, the

[Bug target/97194] optimize vector element set/extract at variable position

2020-10-16 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #18 from Richard Biener --- (In reply to Hongtao.liu from comment #16) > (In reply to Hongtao.liu from comment #15) > > I'm working on add the expander, i encounter a problem. > > > > for V32HI vec_set with constant index, the

[Bug target/97194] optimize vector element set/extract at variable position

2020-10-16 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #17 from Richard Biener --- (In reply to Hongtao.liu from comment #15) > I'm working on add the expander, i encounter a problem. > > for V32HI vec_set with constant index, the expander existed under > TARGET_AVX512F, but for

[Bug target/97194] optimize vector element set/extract at variable position

2020-10-16 Thread crazylht at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #16 from Hongtao.liu --- (In reply to Hongtao.liu from comment #15) > I'm working on add the expander, i encounter a problem. > > for V32HI vec_set with constant index, the expander existed under > TARGET_AVX512F, but for variable

[Bug target/97194] optimize vector element set/extract at variable position

2020-10-16 Thread crazylht at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #15 from Hongtao.liu --- I'm working on add the expander, i encounter a problem. for V32HI vec_set with constant index, the expander existed under TARGET_AVX512F, but for variable index, the expander should be existed under

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-28 Thread amonakov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #14 from Alexander Monakov --- I see, there are more weaknesses than I thought. For CSE (or rather fwprop?) I was thinking about a simpler case where the extracted-from value is loaded from memory, but even in trivial cases RTL

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-28 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #13 from Richard Biener --- (In reply to Richard Biener from comment #12) > (In reply to Alexander Monakov from comment #11) > > Yeah, for inserts such tactic would be inappropriate due to bad store > > forwarding stalls anyway. As

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-28 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #12 from Richard Biener --- (In reply to Alexander Monakov from comment #11) > Yeah, for inserts such tactic would be inappropriate due to bad store > forwarding stalls anyway. As you've shown in earlier comments, inserts have > a

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-28 Thread amonakov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #11 from Alexander Monakov --- Yeah, for inserts such tactic would be inappropriate due to bad store forwarding stalls anyway. As you've shown in earlier comments, inserts have a very nice generic way to expand them (that does not

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-28 Thread rguenther at suse dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #10 from rguenther at suse dot de --- On Mon, 28 Sep 2020, amonakov at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 > > --- Comment #9 from Alexander Monakov --- > (In reply to Richard Biener from

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-28 Thread amonakov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #9 from Alexander Monakov --- (In reply to Richard Biener from comment #8) > Note that currently RTL expansion forces a local vector typed variable > to the stack (instead of allocating a pseudo) when there are > variable-index

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-28 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #8 from Richard Biener --- (In reply to Alexander Monakov from comment #7) > FWIW, Peter Cordes provides an overview of available approaches for > extraction depending on vector length and ISA extensions (up to AVX2, not > including

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-28 Thread amonakov at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 Alexander Monakov changed: What|Removed |Added CC||amonakov at gcc dot gnu.org ---

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-28 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 Richard Biener changed: What|Removed |Added Last reconfirmed||2020-09-28 Ever confirmed|0

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-27 Thread crazylht at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #5 from Hongtao.liu --- > > There's ongoing patch iteration on the ml adding variable index vec_set > > expanders for powerpc (and the related middle-end changes). The question > > is whether optabs can try many things or the

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-25 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #4 from Richard Biener --- (In reply to Richard Biener from comment #2) > So for set with T == int and N == 32 we could generate > > vmovd %edi, %xmm1 > vpbroadcastd%xmm1, %ymm1 > vpcmpeqd

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-24 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #3 from Richard Biener --- (In reply to Richard Biener from comment #2) > Eventually there's a more efficient way to generate {0, 1, 2, 3...}. vpmovzx* could be at least used to only have a single byte vector {0, ... 255 } in memory

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-24 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 --- Comment #2 from Richard Biener --- So for set with T == int and N == 32 we could generate vmovd %edi, %xmm1 vpbroadcastd%xmm1, %ymm1 vpcmpeqd.LC0(%rip), %ymm1, %ymm2 vpblendvb %ymm2,

[Bug target/97194] optimize vector element set/extract at variable position

2020-09-24 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97194 Richard Biener changed: What|Removed |Added Target||x86_64-*-* i?86-*-*