[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