diff mbox series

PR testsuite/106879 FAIL: gcc.dg/vect/bb-slp-layout-19.c on powerpc64

Message ID 20230419020336.722450-1-guojiufu@linux.ibm.com
State New
Headers show
Series PR testsuite/106879 FAIL: gcc.dg/vect/bb-slp-layout-19.c on powerpc64 | expand

Commit Message

Jiufu Guo April 19, 2023, 2:03 a.m. UTC
Hi,

On P7, option -mno-allow-movmisalign is added during testing, which
prevents slp happen on the case.

Like Like PR65484 and PR87306, this patch use vect_hw_misalig to guard
the case on powerpc targets.

Tested on ppc64{le,} and x86_64.
Is this ok for trunk?

BR,
Jeff (Jiufu)

gcc/testsuite/ChangeLog:

	PR testsuite/106879
	* gcc.dg/vect/bb-slp-layout-19.c: Modify to guard the check with
	vect_hw_misalig on POWERs.

---
 gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Kewen.Lin April 19, 2023, 2:53 a.m. UTC | #1
Hi Jeff,

on 2023/4/19 10:03, Jiufu Guo wrote:
> Hi,
> 
> On P7, option -mno-allow-movmisalign is added during testing, which
> prevents slp happen on the case.
> 
> Like Like PR65484 and PR87306, this patch use vect_hw_misalig to guard
  Dup like...                                  ~~ missing the last character n.

> the case on powerpc targets.
> 
> Tested on ppc64{le,} and x86_64.
> Is this ok for trunk?
> 
> BR,
> Jeff (Jiufu)
> 
> gcc/testsuite/ChangeLog:
> 
> 	PR testsuite/106879
> 	* gcc.dg/vect/bb-slp-layout-19.c: Modify to guard the check with
> 	vect_hw_misalig on POWERs.
...               ~~~~~ Same here.

OK for trunk with these nits fixed, thanks!

BR,
Kewen

> 
> ---
>  gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
> index f075a83a25b..faf98e8d3c0 100644
> --- a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
> +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
> @@ -31,4 +31,9 @@ void f()
>    e[3] = b3;
>  }
> 
> -/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = VEC_PERM_EXPR" 3 "slp1" { target { vect_int_mult && vect_perm } } } } */
> +/* On older powerpc hardware (POWER7 and earlier), the default flag
> +   -mno-allow-movmisalign prevents vectorization.  On POWER8 and later,
> +   when vect_hw_misalign is true, vectorization occurs.  For other
> +   targets, ! vect_no_align is a sufficient test.  */
> +
> +/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = VEC_PERM_EXPR" 3 "slp1" { target { { vect_int_mult && vect_perm } && { { ! powerpc*-*-* } || { vect_hw_misalign } } } } } } */
Jiufu Guo April 20, 2023, 4:37 a.m. UTC | #2
Hi Kewen,

On 2023-04-19 10:53, Kewen.Lin wrote:
> Hi Jeff,
> 
> on 2023/4/19 10:03, Jiufu Guo wrote:
>> Hi,
>> 
>> On P7, option -mno-allow-movmisalign is added during testing, which
>> prevents slp happen on the case.
>> 
>> Like Like PR65484 and PR87306, this patch use vect_hw_misalig to guard
>   Dup like...                                  ~~ missing the last 
> character n.

Always thanks for your helpful catching and comments!
Committed via r14-105-g57e7229a29ca0e.

BR,
Jeff (Jiufu)

> 
>> the case on powerpc targets.
>> 
>> Tested on ppc64{le,} and x86_64.
>> Is this ok for trunk?
>> 
>> BR,
>> Jeff (Jiufu)
>> 
>> gcc/testsuite/ChangeLog:
>> 
>> 	PR testsuite/106879
>> 	* gcc.dg/vect/bb-slp-layout-19.c: Modify to guard the check with
>> 	vect_hw_misalig on POWERs.
> ...               ~~~~~ Same here.
> 
> OK for trunk with these nits fixed, thanks!
> 
> BR,
> Kewen
> 
>> 
>> ---
>>  gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c | 7 ++++++-
>>  1 file changed, 6 insertions(+), 1 deletion(-)
>> 
>> diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c 
>> b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
>> index f075a83a25b..faf98e8d3c0 100644
>> --- a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
>> +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
>> @@ -31,4 +31,9 @@ void f()
>>    e[3] = b3;
>>  }
>> 
>> -/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = 
>> VEC_PERM_EXPR" 3 "slp1" { target { vect_int_mult && vect_perm } } } } 
>> */
>> +/* On older powerpc hardware (POWER7 and earlier), the default flag
>> +   -mno-allow-movmisalign prevents vectorization.  On POWER8 and 
>> later,
>> +   when vect_hw_misalign is true, vectorization occurs.  For other
>> +   targets, ! vect_no_align is a sufficient test.  */
>> +
>> +/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = 
>> VEC_PERM_EXPR" 3 "slp1" { target { { vect_int_mult && vect_perm } && { 
>> { ! powerpc*-*-* } || { vect_hw_misalign } } } } } } */
diff mbox series

Patch

diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
index f075a83a25b..faf98e8d3c0 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-layout-19.c
@@ -31,4 +31,9 @@  void f()
   e[3] = b3;
 }
 
-/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = VEC_PERM_EXPR" 3 "slp1" { target { vect_int_mult && vect_perm } } } } */
+/* On older powerpc hardware (POWER7 and earlier), the default flag
+   -mno-allow-movmisalign prevents vectorization.  On POWER8 and later,
+   when vect_hw_misalign is true, vectorization occurs.  For other
+   targets, ! vect_no_align is a sufficient test.  */
+
+/* { dg-final { scan-tree-dump-times "add new stmt: \[^\\n\\r\]* = VEC_PERM_EXPR" 3 "slp1" { target { { vect_int_mult && vect_perm } && { { ! powerpc*-*-* } || { vect_hw_misalign } } } } } } */