public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Andrew Stubbs <ams@codesourcery.com>
To: "juzhe.zhong@rivai.ai" <juzhe.zhong@rivai.ai>,
	gcc-patches <gcc-patches@gcc.gnu.org>
Cc: jeffreyalaw <jeffreyalaw@gmail.com>, rguenther <rguenther@suse.de>
Subject: Re: [PATCH] test: Fix FAIL of pr97428.c for RVV
Date: Tue, 7 Nov 2023 11:21:26 +0000	[thread overview]
Message-ID: <27d9a815-6483-47dc-9b94-64fcff9d72bd@codesourcery.com> (raw)
In-Reply-To: <6C8026CC650A3B51+2023110719052047818826@rivai.ai>

On 07/11/2023 11:05, juzhe.zhong@rivai.ai wrote:
> Could you try this ?
> 
> /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 
> "vect" { xfail { { ! vect_hw_misalign } || { vect512 } } } } } */
> /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 4 
> "vect" { xfail { ! vect512 } } } } */

PASS: gcc.dg/vect/pr97428.c (test for excess errors)
PASS: gcc.dg/vect/pr97428.c scan-tree-dump vect "Detected interleaving 
load of size 8"
PASS: gcc.dg/vect/pr97428.c scan-tree-dump vect "Detected interleaving 
store of size 16"
gcc.dg/vect/pr97428.c: pattern found 4 times
XFAIL: gcc.dg/vect/pr97428.c scan-tree-dump-times vect "vectorizing 
stmts using SLP" 2
PASS: gcc.dg/vect/pr97428.c scan-tree-dump-times vect "vectorizing stmts 
using SLP" 4
PASS: gcc.dg/vect/pr97428.c scan-tree-dump-not vect "gap of 6 elements"

The passes are all correct (assuming that 4 matches are a valid number), 
but if you have mutliple patterns with contractictory expectations then 
you probably want to use "target" rather than "xfail" to avoid the noise 
(and invert the conditions, obviously).

Andrew

> ------------------------------------------------------------------------
> juzhe.zhong@rivai.ai
> 
>     *From:* Andrew Stubbs <mailto:ams@codesourcery.com>
>     *Date:* 2023-11-07 18:59
>     *To:* juzhe.zhong@rivai.ai <mailto:juzhe.zhong@rivai.ai>;
>     gcc-patches <mailto:gcc-patches@gcc.gnu.org>
>     *CC:* jeffreyalaw <mailto:jeffreyalaw@gmail.com>; rguenther
>     <mailto:rguenther@suse.de>
>     *Subject:* Re: [PATCH] test: Fix FAIL of pr97428.c for RVV
>     On 07/11/2023 10:10, juzhe.zhong@rivai.ai wrote:
>      > So, this patch not only fixes RVV FAIL, but also fixes GCN ?
>     Before the patch I have:
>     PASS: gcc.dg/vect/pr97428.c (test for excess errors)
>     PASS: gcc.dg/vect/pr97428.c scan-tree-dump vect "Detected interleaving
>     load of size 8"
>     PASS: gcc.dg/vect/pr97428.c scan-tree-dump vect "Detected interleaving
>     store of size 16"
>     gcc.dg/vect/pr97428.c: pattern found 4 times
>     XFAIL: gcc.dg/vect/pr97428.c scan-tree-dump-times vect "vectorizing
>     stmts using SLP" 2
>     PASS: gcc.dg/vect/pr97428.c scan-tree-dump-not vect "gap of 6 elements"
>     With the patch I now get:
>     PASS: gcc.dg/vect/pr97428.c (test for excess errors)
>     PASS: gcc.dg/vect/pr97428.c scan-tree-dump vect "Detected interleaving
>     load of size 8"
>     PASS: gcc.dg/vect/pr97428.c scan-tree-dump vect "Detected interleaving
>     store of size 16"
>     gcc.dg/vect/pr97428.c: pattern found 4 times
>     XFAIL: gcc.dg/vect/pr97428.c scan-tree-dump-times vect "vectorizing
>     stmts using SLP" 2
>     XPASS: gcc.dg/vect/pr97428.c scan-tree-dump-times vect "vectorizing
>     stmts using SLP" 4
>     PASS: gcc.dg/vect/pr97428.c scan-tree-dump-not vect "gap of 6 elements"
>     It's different, but not "fixed".
>     Andrew
>      >
>      >
>      >
>     ------------------------------------------------------------------------
>      > juzhe.zhong@rivai.ai
>      >
>      >     *From:* Andrew Stubbs <mailto:ams@codesourcery.com>
>      >     *Date:* 2023-11-07 18:09
>      >     *To:* Juzhe-Zhong <mailto:juzhe.zhong@rivai.ai>;
>      >     gcc-patches@gcc.gnu.org <mailto:gcc-patches@gcc.gnu.org>
>      >     *CC:* jeffreyalaw@gmail.com <mailto:jeffreyalaw@gmail.com>;
>      >     rguenther@suse.de <mailto:rguenther@suse.de>
>      >     *Subject:* Re: [PATCH] test: Fix FAIL of pr97428.c for RVV
>      >     On 07/11/2023 07:44, Juzhe-Zhong wrote:
>      >      > This test shows vectorizing stmts using SLP 4 times
>     instead of 2
>      >     for RVV.
>      >      > The reason is RVV has 512 bit vector.
>      >      > Here is comparison between RVV ans ARM SVE:
>      >      > https://godbolt.org/z/xc5KE5rPs
>      >      >
>      >      > But I notice AMDGCN also has 512 bit vector, seems this patch
>      >     will cause FAIL in GCN ?
>      >      >
>      >      > Not sure whether GCN is 2 times or 4 times ?
>      >     The pattern matches 4 times on GCN.
>      >      > gcc/testsuite/ChangeLog:
>      >      >
>      >      > * gcc.dg/vect/pr97428.c: Fix FAIL for RVV.
>      >      >
>      >      > ---
>      >      >   gcc/testsuite/gcc.dg/vect/pr97428.c | 3 ++-
>      >      >   1 file changed, 2 insertions(+), 1 deletion(-)
>      >      >
>      >      > diff --git a/gcc/testsuite/gcc.dg/vect/pr97428.c
>      >     b/gcc/testsuite/gcc.dg/vect/pr97428.c
>      >      > index ad6416096aa..352c9bf04a7 100644
>      >      > --- a/gcc/testsuite/gcc.dg/vect/pr97428.c
>      >      > +++ b/gcc/testsuite/gcc.dg/vect/pr97428.c
>      >      > @@ -43,5 +43,6 @@ void foo_i2(dcmlx4_t dst[], const dcmlx_t
>      >     src[], int n)
>      >      >   /* { dg-final { scan-tree-dump "Detected interleaving
>     store of
>      >     size 16" "vect" } } */
>      >      >   /* We're not able to peel & apply re-aligning to make
>     accesses
>      >     well-aligned for !vect_hw_misalign,
>      >      >      but we could by peeling the stores for alignment and
>      >     applying re-aligning loads.  */
>      >      > -/* { dg-final { scan-tree-dump-times "vectorizing stmts using
>      >     SLP" 2 "vect" { xfail { ! vect_hw_misalign } } } } */
>      >      > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using
>      >     SLP" 2 "vect" { xfail { { ! vect_hw_misalign } || { vect512 }
>     } } } } */
>      >      > +/* { dg-final { scan-tree-dump-times "vectorizing stmts using
>      >     SLP" 4 "vect" { xfail { { ! vect_hw_misalign } || { ! vect512
>     } } }
>      >     } } */
>      >      >   /* { dg-final { scan-tree-dump-not "gap of 6 elements"
>     "vect" }
>      >     } */
>      >
> 


  reply	other threads:[~2023-11-07 11:21 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-07  7:44 Juzhe-Zhong
2023-11-07 10:09 ` Andrew Stubbs
2023-11-07 10:10   ` juzhe.zhong
2023-11-07 10:59     ` Andrew Stubbs
2023-11-07 11:05       ` juzhe.zhong
2023-11-07 11:21         ` Andrew Stubbs [this message]
2023-11-07 11:23           ` juzhe.zhong
     [not found]           ` <202311071923515706180@rivai.ai>
2023-11-07 11:24             ` juzhe.zhong
2023-11-07 11:44               ` Andrew Stubbs
2023-11-07 12:03                 ` juzhe.zhong
2023-11-07 12:05                   ` Andrew Stubbs
2023-11-07 12:07                     ` juzhe.zhong

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=27d9a815-6483-47dc-9b94-64fcff9d72bd@codesourcery.com \
    --to=ams@codesourcery.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jeffreyalaw@gmail.com \
    --cc=juzhe.zhong@rivai.ai \
    --cc=rguenther@suse.de \
    /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: link
Be 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).