diff mbox series

[ver2] rs6000, altivec-2-runnable.c update the require-effective-target

Message ID 23145286-6f27-41c5-b843-35c7a2283069@linux.ibm.com
State New
Headers show
Series [ver2] rs6000, altivec-2-runnable.c update the require-effective-target | expand

Commit Message

Carl Love June 19, 2024, 4:13 p.m. UTC
GCC maintainers:

version 2:  Updated per the feedback from Peter, Kewen and Segher.  Note, Peter suggested the -mdejagnu-cpu= value must be power7.  
The test fails if -mdejagnu-cpu= is set to power7, needs to be power8.  Patch has been retested on a Power 10 box, it succeeds
with 2 passes and no fails.

Per the additional feedback after patch: 

  commit c892525813c94b018464d5a4edc17f79186606b7
  Author: Carl Love <cel@linux.ibm.com>
  Date:   Tue Jun 11 14:01:16 2024 -0400

      rs6000, altivec-2-runnable.c should be a runnable test
    
      The test case has "dg-do compile" set not "dg-do run" for a runnable
      test.  This patch changes the dg-do command argument to run.
    
      gcc/testsuite/ChangeLog:gcc/testsuite/ChangeLog:
              * gcc.target/powerpc/altivec-2-runnable.c: Change dg-do
              argument to run.

was approved and committed, I have updated the dg-require-effective-target
and dg-options as requested so the test will compile with -O2 on a 
machine that has a minimum support of Power 8 vector hardware.

The patch has been tested on Power 10 with no regression failures.

Please let me know if this patch is acceptable for mainline.  Thanks.

                        Carl 

----------------------------------------------------------------
rs6000, altivec-2-runnable.c update the require-effective-target

The test requires a minimum of Power8 vector HW and a compile level
of -O2.

gcc/testsuite/ChangeLog:gcc/testsuite/ChangeLog:
	* gcc.target/powerpc/altivec-2-runnable.c: Change the
	require-effective-target for the test.
---
 gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Carl Love June 19, 2024, 4:15 p.m. UTC | #1
Everyone, Oops, this should be version 3 not 2.  Sorry.

                  Carl 

On 6/19/24 09:13, Carl Love wrote:
> GCC maintainers:
> 
> version 2:  Updated per the feedback from Peter, Kewen and Segher.  Note, Peter suggested the -mdejagnu-cpu= value must be power7.  
> The test fails if -mdejagnu-cpu= is set to power7, needs to be power8.  Patch has been retested on a Power 10 box, it succeeds
> with 2 passes and no fails.
> 
> Per the additional feedback after patch: 
> 
>   commit c892525813c94b018464d5a4edc17f79186606b7
>   Author: Carl Love <cel@linux.ibm.com>
>   Date:   Tue Jun 11 14:01:16 2024 -0400
> 
>       rs6000, altivec-2-runnable.c should be a runnable test
>     
>       The test case has "dg-do compile" set not "dg-do run" for a runnable
>       test.  This patch changes the dg-do command argument to run.
>     
>       gcc/testsuite/ChangeLog:gcc/testsuite/ChangeLog:
>               * gcc.target/powerpc/altivec-2-runnable.c: Change dg-do
>               argument to run.
> 
> was approved and committed, I have updated the dg-require-effective-target
> and dg-options as requested so the test will compile with -O2 on a 
> machine that has a minimum support of Power 8 vector hardware.
> 
> The patch has been tested on Power 10 with no regression failures.
> 
> Please let me know if this patch is acceptable for mainline.  Thanks.
> 
>                         Carl 
> 
> ----------------------------------------------------------------
> rs6000, altivec-2-runnable.c update the require-effective-target
> 
> The test requires a minimum of Power8 vector HW and a compile level
> of -O2.
> 
> gcc/testsuite/ChangeLog:gcc/testsuite/ChangeLog:
> 	* gcc.target/powerpc/altivec-2-runnable.c: Change the
> 	require-effective-target for the test.
> ---
>  gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c b/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
> index 17b23eb9d50..9e7ef89327b 100644
> --- a/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
> +++ b/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
> @@ -1,7 +1,7 @@
> -/* { dg-do run } */
> -/* { dg-options "-mvsx" } */
> -/* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! has_arch_pwr8 } } } */
> -/* { dg-require-effective-target powerpc_vsx } */
> +/* { dg-do run { target vsx_hw } } */
> +/* { dg-do compile { target { ! vmx_hw } } } */
> +/* { dg-options "-O2  -mdejagnu-cpu=power8" } */
> +/* { dg-require-effective-target powerpc_altivec } */
>  
>  #include <altivec.h>
>
Kewen.Lin June 21, 2024, 10:36 a.m. UTC | #2
Hi Carl,

on 2024/6/20 00:13, Carl Love wrote:
> GCC maintainers:
> 
> version 2:  Updated per the feedback from Peter, Kewen and Segher.  Note, Peter suggested the -mdejagnu-cpu= value must be power7.  
> The test fails if -mdejagnu-cpu= is set to power7, needs to be power8.  Patch has been retested on a Power 10 box, it succeeds
> with 2 passes and no fails.

IMHO Peter's suggestion on power7 (-mdejagnu-cpu=power7) is mainly for
altivec-1-runnable.c.  Both your testing and the comments in the test
case show this altivec-2-runnable.c requires at least power8.

> 
> Per the additional feedback after patch: 
> 
>   commit c892525813c94b018464d5a4edc17f79186606b7
>   Author: Carl Love <cel@linux.ibm.com>
>   Date:   Tue Jun 11 14:01:16 2024 -0400
> 
>       rs6000, altivec-2-runnable.c should be a runnable test
>     
>       The test case has "dg-do compile" set not "dg-do run" for a runnable
>       test.  This patch changes the dg-do command argument to run.
>     
>       gcc/testsuite/ChangeLog:gcc/testsuite/ChangeLog:
>               * gcc.target/powerpc/altivec-2-runnable.c: Change dg-do
>               argument to run.
> 
> was approved and committed, I have updated the dg-require-effective-target
> and dg-options as requested so the test will compile with -O2 on a 
> machine that has a minimum support of Power 8 vector hardware.
> 
> The patch has been tested on Power 10 with no regression failures.
> 
> Please let me know if this patch is acceptable for mainline.  Thanks.
> 
>                         Carl 
> 
> ----------------------------------------------------------------
> rs6000, altivec-2-runnable.c update the require-effective-target
> 
> The test requires a minimum of Power8 vector HW and a compile level
> of -O2.
> 
> gcc/testsuite/ChangeLog:gcc/testsuite/ChangeLog:
> 	* gcc.target/powerpc/altivec-2-runnable.c: Change the
> 	require-effective-target for the test.
> ---
>  gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c b/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
> index 17b23eb9d50..9e7ef89327b 100644
> --- a/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
> +++ b/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
> @@ -1,7 +1,7 @@
> -/* { dg-do run } */
> -/* { dg-options "-mvsx" } */
> -/* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! has_arch_pwr8 } } } */
> -/* { dg-require-effective-target powerpc_vsx } */
> +/* { dg-do run { target vsx_hw } } */

As this test case requires power8 and up, and dg-options specifies
-mdejagnu-cpu=power8, we should use p8vector_hw instead of vsx_hw here,
otherwise it will fail on power7 env.

> +/* { dg-do compile { target { ! vmx_hw } } } */

This condition should be ! <the one used for dg-do run>, so ! p8vector_hw.

> +/* { dg-options "-O2  -mdejagnu-cpu=power8" } */> +/* { dg-require-effective-target powerpc_altivec } */

This should be powerpc_vsx instead, otherwise this case can still be
tested with -mno-vsx -maltivec, then this test case would fail.

Besides, as the discussion on the name of this test case, could you also
rename this to p8vector-builtin-9.c instead?

BR,
Kewen
Carl Love June 21, 2024, 3:59 p.m. UTC | #3
Kewen:

On 6/21/24 03:36, Kewen.Lin wrote:
> Hi Carl,
> 
> on 2024/6/20 00:13, Carl Love wrote:
>> GCC maintainers:
>>
>> version 2:  Updated per the feedback from Peter, Kewen and Segher.  Note, Peter suggested the -mdejagnu-cpu= value must be power7.  
>> The test fails if -mdejagnu-cpu= is set to power7, needs to be power8.  Patch has been retested on a Power 10 box, it succeeds
>> with 2 passes and no fails.
> 
> IMHO Peter's suggestion on power7 (-mdejagnu-cpu=power7) is mainly for
> altivec-1-runnable.c.  Both your testing and the comments in the test
> case show this altivec-2-runnable.c requires at least power8.

OK.  Per other thread changed altivec-1-runnable to power7.

> 
>>
>> Per the additional feedback after patch: 
>>
>>   commit c892525813c94b018464d5a4edc17f79186606b7
>>   Author: Carl Love <cel@linux.ibm.com>
>>   Date:   Tue Jun 11 14:01:16 2024 -0400
>>
>>       rs6000, altivec-2-runnable.c should be a runnable test
>>     
>>       The test case has "dg-do compile" set not "dg-do run" for a runnable
>>       test.  This patch changes the dg-do command argument to run.
>>     
>>       gcc/testsuite/ChangeLog:gcc/testsuite/ChangeLog:
>>               * gcc.target/powerpc/altivec-2-runnable.c: Change dg-do
>>               argument to run.
>>
>> was approved and committed, I have updated the dg-require-effective-target
>> and dg-options as requested so the test will compile with -O2 on a 
>> machine that has a minimum support of Power 8 vector hardware.
>>
>> The patch has been tested on Power 10 with no regression failures.
>>
>> Please let me know if this patch is acceptable for mainline.  Thanks.
>>
>>                         Carl 
>>
>> ----------------------------------------------------------------
>> rs6000, altivec-2-runnable.c update the require-effective-target
>>
>> The test requires a minimum of Power8 vector HW and a compile level
>> of -O2.
>>
>> gcc/testsuite/ChangeLog:gcc/testsuite/ChangeLog:
>> 	* gcc.target/powerpc/altivec-2-runnable.c: Change the
>> 	require-effective-target for the test.
>> ---
>>  gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c b/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
>> index 17b23eb9d50..9e7ef89327b 100644
>> --- a/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
>> +++ b/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
>> @@ -1,7 +1,7 @@
>> -/* { dg-do run } */
>> -/* { dg-options "-mvsx" } */
>> -/* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! has_arch_pwr8 } } } */
>> -/* { dg-require-effective-target powerpc_vsx } */
>> +/* { dg-do run { target vsx_hw } } */
> 
> As this test case requires power8 and up, and dg-options specifies
> -mdejagnu-cpu=power8, we should use p8vector_hw instead of vsx_hw here,
> otherwise it will fail on power7 env.

Changed to p8vector_hw

> 
>> +/* { dg-do compile { target { ! vmx_hw } } } */
> 
> This condition should be ! <the one used for dg-do run>, so ! p8vector_hw.

Changed. 

> 
>> +/* { dg-options "-O2  -mdejagnu-cpu=power8" } */> +/* { dg-require-effective-target powerpc_altivec } */
> 
> This should be powerpc_vsx instead, otherwise this case can still be
> tested with -mno-vsx -maltivec, then this test case would fail.

OK
> 
> Besides, as the discussion on the name of this test case, could you also
> rename this to p8vector-builtin-9.c instead?

Put the name change in a separate patch to change both test file names.
 
                  Carl
diff mbox series

Patch

diff --git a/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c b/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
index 17b23eb9d50..9e7ef89327b 100644
--- a/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
+++ b/gcc/testsuite/gcc.target/powerpc/altivec-2-runnable.c
@@ -1,7 +1,7 @@ 
-/* { dg-do run } */
-/* { dg-options "-mvsx" } */
-/* { dg-additional-options "-mdejagnu-cpu=power8" { target { ! has_arch_pwr8 } } } */
-/* { dg-require-effective-target powerpc_vsx } */
+/* { dg-do run { target vsx_hw } } */
+/* { dg-do compile { target { ! vmx_hw } } } */
+/* { dg-options "-O2  -mdejagnu-cpu=power8" } */
+/* { dg-require-effective-target powerpc_altivec } */
 
 #include <altivec.h>