test: Fix FAIL of SAD tests for RVV
Checks
Commit Message
RVV didn't explicitly enable SAD optab but we can vectorize it
since loop vectorizer is able to recognize SAD pattern for RVV during analysis.
Current scan check of explicit SAD pattern looks odd,
it should be more reasonable to check recognition of SAD pattern during Loop vectorize analysis.
Other SAD tests like slp-reduc-sad-2.c are checking pattern recognition instead of explicit pattern enable.
Fix SAD dump check to fix the FAILS for RVV.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/slp-reduc-sad.c: Fix check.
* gcc.dg/vect/vect-reduc-sad.c: Ditto.
---
gcc/testsuite/gcc.dg/vect/slp-reduc-sad.c | 2 +-
gcc/testsuite/gcc.dg/vect/vect-reduc-sad.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Comments
On 11/6/23 20:36, Juzhe-Zhong wrote:
> RVV didn't explicitly enable SAD optab but we can vectorize it
> since loop vectorizer is able to recognize SAD pattern for RVV during analysis.
>
> Current scan check of explicit SAD pattern looks odd,
> it should be more reasonable to check recognition of SAD pattern during Loop vectorize analysis.
>
> Other SAD tests like slp-reduc-sad-2.c are checking pattern recognition instead of explicit pattern enable.
> Fix SAD dump check to fix the FAILS for RVV.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.dg/vect/slp-reduc-sad.c: Fix check.
> * gcc.dg/vect/vect-reduc-sad.c: Ditto.
OK after verifying this doesn't introduce an unexpected fail on at least
one major platform -- I'd recommend x86.
You can greatly speed up testing with:
make check-gcc RUNTESTFLAGS=vect.exp=slp-reduc-sad.c
make check-gcc RUNTESTFLAGS=slp-reduc-sad.c
That way you just have to build the stage1 x86 compiler, do that quick
test rather than a full bootstrap and regression run.
jeff
Thanks Jeff. Just finish bootstrap +regression passed.
Committed.
juzhe.zhong@rivai.ai
From: Jeff Law
Date: 2023-11-07 11:52
To: Juzhe-Zhong; gcc-patches
CC: rguenther
Subject: Re: [PATCH] test: Fix FAIL of SAD tests for RVV
On 11/6/23 20:36, Juzhe-Zhong wrote:
> RVV didn't explicitly enable SAD optab but we can vectorize it
> since loop vectorizer is able to recognize SAD pattern for RVV during analysis.
>
> Current scan check of explicit SAD pattern looks odd,
> it should be more reasonable to check recognition of SAD pattern during Loop vectorize analysis.
>
> Other SAD tests like slp-reduc-sad-2.c are checking pattern recognition instead of explicit pattern enable.
> Fix SAD dump check to fix the FAILS for RVV.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.dg/vect/slp-reduc-sad.c: Fix check.
> * gcc.dg/vect/vect-reduc-sad.c: Ditto.
OK after verifying this doesn't introduce an unexpected fail on at least
one major platform -- I'd recommend x86.
You can greatly speed up testing with:
make check-gcc RUNTESTFLAGS=vect.exp=slp-reduc-sad.c
make check-gcc RUNTESTFLAGS=slp-reduc-sad.c
That way you just have to build the stage1 x86 compiler, do that quick
test rather than a full bootstrap and regression run.
jeff
@@ -57,6 +57,6 @@ main ()
return 0;
}
-/* { dg-final { scan-tree-dump "sad pattern recognized" "vect" } } */
+/* { dg-final { scan-tree-dump "vect_recog_sad_pattern: detected" "vect" } } */
/* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
@@ -51,6 +51,6 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "sad pattern recognized" 1 "vect" } } */
+/* { dg-final { scan-tree-dump "vect_recog_sad_pattern: detected" "vect" } } */
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */