[PATCH] PR92398: Fix testcase failure of pr72804.c

luoxhu luoxhu@linux.ibm.com
Fri Nov 15 06:00:00 GMT 2019


On 2019/11/15 11:12, Xiong Hu Luo wrote:
> P9LE generated instruction is not worse than P8LE.
> mtvsrdd;xxlnot;stxv vs. not;not;std;std.
> Update the test case to fix failures.
> 
> gcc/testsuite/ChangeLog:
> 
> 	2019-11-15  Luo Xiong Hu  <luoxhu@linux.ibm.com>
> 
> 	testsuite/pr92398
> 	* gcc.target/powerpc/pr72804.h: New.
> 	* gcc.target/powerpc/pr72804.p8.c: New.
> 	* gcc.target/powerpc/pr72804.c: Rename to ...
> 	* gcc.target/powerpc/pr72804.p9.c: ... this one.
> ---
>   gcc/testsuite/gcc.target/powerpc/pr72804.h    | 17 ++++++++++++++
>   gcc/testsuite/gcc.target/powerpc/pr72804.p8.c | 16 ++++++++++++++
>   .../powerpc/{pr72804.c => pr72804.p9.c}       | 22 ++++++-------------
>   3 files changed, 40 insertions(+), 15 deletions(-)
>   create mode 100644 gcc/testsuite/gcc.target/powerpc/pr72804.h
>   create mode 100644 gcc/testsuite/gcc.target/powerpc/pr72804.p8.c
>   rename gcc/testsuite/gcc.target/powerpc/{pr72804.c => pr72804.p9.c} (59%)
> 
> diff --git a/gcc/testsuite/gcc.target/powerpc/pr72804.h b/gcc/testsuite/gcc.target/powerpc/pr72804.h
> new file mode 100644
> index 00000000000..8a5ea93cc17
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/powerpc/pr72804.h
> @@ -0,0 +1,17 @@
> +/* This test code is included into pr72804.p8.c and pr72804.p9.c
> +   The two files have the tests for the number of instructions generated for
> +   P8LE versus P9LE.  */
> +
> +__int128_t
> +foo (__int128_t *src)
> +{
> +  return ~*src;
> +}
> +
> +void
> +bar (__int128_t *dst, __int128_t src)
> +{
> +  *dst =  ~src;
> +}
> +
> +
> diff --git a/gcc/testsuite/gcc.target/powerpc/pr72804.p8.c b/gcc/testsuite/gcc.target/powerpc/pr72804.p8.c
> new file mode 100644
> index 00000000000..ad968769aae
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/powerpc/pr72804.p8.c
> @@ -0,0 +1,16 @@
> +/* { dg-do compile { target lp64 } } */
> +/* { dg-skip-if "" { powerpc*-*-darwin* } } */
> +/* { dg-require-effective-target powerpc_vsx_ok } */
> +/* { dg-options "-O2 -mvsx -mdejagnu-cpu=power8" } */
> +
> +/* { dg-final { scan-assembler-times "not " 4 {xfail be} } } */
> +/* { dg-final { scan-assembler-times "std " 2 {xfail be} } } */
> +/* { dg-final { scan-assembler-times "ld " 2 } } */
> +/* { dg-final { scan-assembler-not "lxvd2x" } } */
> +/* { dg-final { scan-assembler-not "stxvd2x" } } */
> +/* { dg-final { scan-assembler-not "xxpermdi" } } */

Update to this after test it on P8BE:
-/* { dg-final { scan-assembler-not "stxvd2x" } } */
-/* { dg-final { scan-assembler-not "xxpermdi" } } */
+/* { dg-final { scan-assembler-not "stxvd2x" {xfail be} } } */
+/* { dg-final { scan-assembler-not "xxpermdi" {xfail be} } } */


> +/* { dg-final { scan-assembler-not "mfvsrd" } } */
> +/* { dg-final { scan-assembler-not "mfvsrd" } } */
> +
> +/* Source code for the test in pr72804.h */
> +#include "pr72804.h"
> diff --git a/gcc/testsuite/gcc.target/powerpc/pr72804.c b/gcc/testsuite/gcc.target/powerpc/pr72804.p9.c
> similarity index 59%
> rename from gcc/testsuite/gcc.target/powerpc/pr72804.c
> rename to gcc/testsuite/gcc.target/powerpc/pr72804.p9.c
> index 10e37caed6b..2059d7df1a2 100644
> --- a/gcc/testsuite/gcc.target/powerpc/pr72804.c
> +++ b/gcc/testsuite/gcc.target/powerpc/pr72804.p9.c
> @@ -1,25 +1,17 @@
>   /* { dg-do compile { target { lp64 } } } */
>   /* { dg-skip-if "" { powerpc*-*-darwin* } } */
>   /* { dg-require-effective-target powerpc_vsx_ok } */
> -/* { dg-options "-O2 -mvsx -fno-inline-functions --param max-inline-insns-single-O2=200" } */
> +/* { dg-options "-O2 -mvsx -mdejagnu-cpu=power9" } */
>   
> -__int128_t
> -foo (__int128_t *src)
> -{
> -  return ~*src;
> -}
> -
> -void
> -bar (__int128_t *dst, __int128_t src)
> -{
> -  *dst =  ~src;
> -}
> -
> -/* { dg-final { scan-assembler-times "not " 4 } } */
> -/* { dg-final { scan-assembler-times "std " 2 } } */
> +/* { dg-final { scan-assembler-times "not " 2 } } */
> +/* { dg-final { scan-assembler-times "std " 0 } } */
>   /* { dg-final { scan-assembler-times "ld " 2 } } */
>   /* { dg-final { scan-assembler-not "lxvd2x" } } */
>   /* { dg-final { scan-assembler-not "stxvd2x" } } */
>   /* { dg-final { scan-assembler-not "xxpermdi" } } */
>   /* { dg-final { scan-assembler-not "mfvsrd" } } */
>   /* { dg-final { scan-assembler-not "mfvsrd" } } */
> +
> +/* Source code for the test in pr72804.h */
> +#include "pr72804.h"
> +
> 



More information about the Gcc-patches mailing list