public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/115640] [15 Regression] GCN: FAIL: gfortran.dg/vect/pr115528.f -O execution test Date: Wed, 26 Jun 2024 12:26:32 +0000 [thread overview] Message-ID: <bug-115640-4-2AQnIrhsKk@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-115640-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115640 --- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Andrew Stubbs from comment #10) > On 26/06/2024 12:05, rguenth at gcc dot gnu.org wrote: > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115640 > > > > --- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- > > (In reply to Richard Biener from comment #7) > >> I will have a look (and for run validation try to reproduce with gfx1036). > > > > OK, so with gfx1036 we end up using 16 byte vectors and the testcase > > passes. The difference with gfx908 is > > > > /space/rguenther/src/gcc-autopar_devel/gcc/testsuite/gfortran.dg/vect/pr115528.f:16:12: > > note: ==> examining statement: _14 = aa[_13]; > > /space/rguenther/src/gcc-autopar_devel/gcc/testsuite/gfortran.dg/vect/pr115528.f:16:12: > > note: vect_model_load_cost: aligned. > > /space/rguenther/src/gcc-autopar_devel/gcc/testsuite/gfortran.dg/vect/pr115528.f:16:12: > > note: vect_model_load_cost: inside_cost = 2, prologue_cost = 0 . > > > > vs. > > > > /space/rguenther/src/gcc-autopar_devel/gcc/testsuite/gfortran.dg/vect/pr115528.f:16:12: > > note: ==> examining statement: _14 = aa[_13]; > > /space/rguenther/src/gcc-autopar_devel/gcc/testsuite/gfortran.dg/vect/pr115528.f:16:12: > > missed: unsupported vect permute { 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 > > 10 11 11 12 12 13 13 14 14 15 15 } > > /space/rguenther/src/gcc-autopar_devel/gcc/testsuite/gfortran.dg/vect/pr115528.f:16:12: > > missed: unsupported load permutation > > /space/rguenther/src/gcc-autopar_devel/gcc/testsuite/gfortran.dg/vect/pr115528.f:19:72: > > missed: not vectorized: relevant stmt not supported: _14 = aa[_13]; > > /space/rguenther/src/gcc-autopar_devel/gcc/testsuite/gfortran.dg/vect/pr115528.f:16:12: > > note: removing SLP instance operations starting from: REALPART_EXPR > > <(*hadcur_24(D))[_2]> = _86; > > /space/rguenther/src/gcc-autopar_devel/gcc/testsuite/gfortran.dg/vect/pr115528.f:16:12: > > missed: unsupported SLP instances > > /space/rguenther/src/gcc-autopar_devel/gcc/testsuite/gfortran.dg/vect/pr115528.f:16:12: > > note: re-trying with SLP disabled > > > > so gfx1036 cannot do such permutes but gfx908 can? > > GFX10 has more limited permutation capabilities than GFX9 because it > only has 32-lane vectors natively, even though we're using the 64-lane > "compatibility" mode. > > However, in theory, the permutation capabilities on V32 and below should > be the same, and some permutations on V64 are allowed, so I don't know > why it doesn't use it. It's possible I broke the logic in > gcn_vectorize_vec_perm_const: > > /* RDNA devices can only do permutations within each group of 32-lanes. > Reject permutations that cross the boundary. */ > if (TARGET_RDNA2_PLUS) > for (unsigned int i = 0; i < nelt; i++) > if (i < 31 ? perm[i] > 31 : perm[i] < 32) > return false; > > It looks right to me though? nelt == 32 so I think the last element has the wrong check applied? It should be > if (i < 32 ? perm[i] > 31 : perm[i] < 32) I think. With that the vectorization happens in a similar way but the failure still doesn't reproduce (without the patch, of course). > The vec_extract patterns that also use permutations are likewise > supposedly still enabled for V32 and below. > > Andrew
next prev parent reply other threads:[~2024-06-26 12:26 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-06-25 11:39 [Bug target/115640] New: " tschwinge at gcc dot gnu.org 2024-06-25 11:56 ` [Bug target/115640] " tschwinge at gcc dot gnu.org 2024-06-25 12:30 ` rguenth at gcc dot gnu.org 2024-06-25 12:36 ` ams at gcc dot gnu.org 2024-06-25 13:08 ` rguenther at suse dot de 2024-06-25 17:55 ` [Bug target/115640] [15 Regression] " tschwinge at gcc dot gnu.org 2024-06-26 6:38 ` rguenther at suse dot de 2024-06-26 7:40 ` rguenth at gcc dot gnu.org 2024-06-26 11:05 ` rguenth at gcc dot gnu.org 2024-06-26 11:06 ` rguenth at gcc dot gnu.org 2024-06-26 11:06 ` rguenth at gcc dot gnu.org 2024-06-26 11:30 ` ams at gcc dot gnu.org 2024-06-26 11:54 ` tschwinge at gcc dot gnu.org 2024-06-26 12:26 ` rguenth at gcc dot gnu.org [this message] 2024-06-26 12:34 ` rguenth at gcc dot gnu.org 2024-06-26 13:34 ` ams at gcc dot gnu.org 2024-06-26 13:41 ` rguenther at suse dot de 2024-06-26 14:05 ` ams at gcc dot gnu.org 2024-06-28 11:08 ` cvs-commit at gcc dot gnu.org 2024-06-28 11:12 ` ams at gcc dot gnu.org 2024-06-28 11:44 ` cvs-commit at gcc dot gnu.org 2024-06-28 11:45 ` rguenth at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-115640-4-2AQnIrhsKk@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).