diff options
author | Michael Meissner <meissner@linux.ibm.com> | 2021-07-26 21:27:00 -0400 |
---|---|---|
committer | Michael Meissner <meissner@linux.ibm.com> | 2021-07-26 21:32:39 -0400 |
commit | 5485e820cd0554886af282265198c7433c64c7b9 (patch) | |
tree | 2e3ed8559bf07f580818225bb7c3cf39b30f15d0 /gcc | |
parent | 1a7febe9432f5302620aebc9cb5760c6c1d31d4c (diff) | |
download | gcc-5485e820cd0554886af282265198c7433c64c7b9.zip gcc-5485e820cd0554886af282265198c7433c64c7b9.tar.gz gcc-5485e820cd0554886af282265198c7433c64c7b9.tar.bz2 |
PR 100170: Fix eq/ne tests on power10.
This patch updates eq/ne tests in the testsuite to adjust the test if
power10 code generation is used.
2021-07-26 Michael Meissner <meissner@linux.ibm.com>
gcc/testsuite/
PR testsuite/100170
* gcc.target/powerpc/ppc-eq0-1.c: Adjust insn counts if power10
code is generated.
* gcc.target/powerpc/ppc-ne0-1.c: (ne0): Adjust insn counts if
power10 code is generated.
(plus_ne0): Move to ppc-ne0-2.c.
(cmp_plus_ne): Likewise.
(plus_ne0_cmp): Likewise.
* gcc.target/powerpc/ppc-ne0-2.c: New file.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/ppc-eq0-1.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c | 30 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/ppc-ne0-2.c | 27 |
3 files changed, 33 insertions, 26 deletions
diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-eq0-1.c b/gcc/testsuite/gcc.target/powerpc/ppc-eq0-1.c index 496a6e3..9f9b13e 100644 --- a/gcc/testsuite/gcc.target/powerpc/ppc-eq0-1.c +++ b/gcc/testsuite/gcc.target/powerpc/ppc-eq0-1.c @@ -7,4 +7,4 @@ int foo(int x) return x == 0; } -/* { dg-final { scan-assembler "cntlzw|isel" } } */ +/* { dg-final { scan-assembler {\m(cntlzw|isel|setbc)\M} } } */ diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c b/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c index 63c4b60..27ed38f 100644 --- a/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c +++ b/gcc/testsuite/gcc.target/powerpc/ppc-ne0-1.c @@ -1,33 +1,13 @@ /* PR target/51274 */ /* { dg-do compile } */ -/* { dg-options "-O2 -mno-isel" } */ +/* { dg-options "-O2" } */ -/* { dg-final { scan-assembler-times "addic" 4 } } */ -/* { dg-final { scan-assembler-times "subfe" 1 } } */ -/* { dg-final { scan-assembler-times "addze" 3 } } */ +/* { dg-final { scan-assembler-times {\mcmp[wd]i\M} 1 { target { has_arch_pwr10 } } } } */ +/* { dg-final { scan-assembler-times {\msetbcr\M} 1 { target { has_arch_pwr10 } } } } */ +/* { dg-final { scan-assembler-times {\maddic\M} 1 { target { ! has_arch_pwr10 } } } } */ +/* { dg-final { scan-assembler-times {\msubfe\M} 1 { target { ! has_arch_pwr10 } } } } */ long ne0(long a) { return a != 0; } - -long plus_ne0(long a, long b) -{ - return (a != 0) + b; -} - -void dummy(void); - -void cmp_plus_ne0(long a, long b) -{ - if ((a != 0) + b) - dummy(); -} - -long plus_ne0_cmp(long a, long b) -{ - a = (a != 0) + b; - if (a) - dummy(); - return a; -} diff --git a/gcc/testsuite/gcc.target/powerpc/ppc-ne0-2.c b/gcc/testsuite/gcc.target/powerpc/ppc-ne0-2.c new file mode 100644 index 0000000..9b0b025 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/ppc-ne0-2.c @@ -0,0 +1,27 @@ +/* PR target/51274 */ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +/* { dg-final { scan-assembler-times {\maddic\M} 3 } } */ +/* { dg-final { scan-assembler-times {\maddze\M} 3 } } */ + +long plus_ne0(long a, long b) +{ + return (a != 0) + b; +} + +void dummy(void); + +void cmp_plus_ne0(long a, long b) +{ + if ((a != 0) + b) + dummy(); +} + +long plus_ne0_cmp(long a, long b) +{ + a = (a != 0) + b; + if (a) + dummy(); + return a; +} |