aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-10-28 10:07:44 +1030
committerAlan Modra <amodra@gmail.com>2020-10-29 09:13:15 +1030
commit23edcf6bee5d40f7c9b7dda04155b9e90b3b3379 (patch)
treeb4c5dff8ec4ecaeb0b21b44aed3d037d6cf32870 /gcc
parent24fb1d9c5855900b5229d8db445eba515c8375e3 (diff)
downloadgcc-23edcf6bee5d40f7c9b7dda04155b9e90b3b3379.zip
gcc-23edcf6bee5d40f7c9b7dda04155b9e90b3b3379.tar.gz
gcc-23edcf6bee5d40f7c9b7dda04155b9e90b3b3379.tar.bz2
Re: testsuite: Enable and adjust powerpc fold-vec-extract/insert testcases
git commit badeac77f552 changed expected number of addi instructions, causing these fails on powerpc-linux. gcc.target/powerpc/fold-vec-insert-int-p9.c: \\maddi\\M found 12 times FAIL: gcc.target/powerpc/fold-vec-insert-int-p9.c scan-assembler-times \\maddi\\M 8 gcc.target/powerpc/fold-vec-extract-char.p9.c: addi found 6 times FAIL: gcc.target/powerpc/fold-vec-extract-char.p9.c scan-assembler-times addi 3 gcc.target/powerpc/fold-vec-extract-int.p9.c: \\maddi\\M found 6 times FAIL: gcc.target/powerpc/fold-vec-extract-int.p9.c scan-assembler-times \\maddi\\M 3 gcc.target/powerpc/fold-vec-extract-longlong.p7.c: \\maddi\\M found 6 times FAIL: gcc.target/powerpc/fold-vec-extract-longlong.p7.c scan-assembler-times \\maddi\\M 4 gcc.target/powerpc/fold-vec-extract-longlong.p8.c: \\maddi\\M found 6 times FAIL: gcc.target/powerpc/fold-vec-extract-longlong.p8.c scan-assembler-times \\maddi\\M 4 changed by badeac77f552 I'm not at all sure why we are counting addi. On linux I see eight in fold-vec-insert-int-p9.c tearing down the stack frame in function epilogues, and four in addi 9,1,16 lvewx 0,0,9 For aix you have the above four but with a -16 offset. There are no stack frames, and you have four addressing stack red-zone as addi 9,1,-64 fold-vec-extract-char.p9.c on linux just has epilogue addi, aix has red-zone addressing. The same for fold-vec-extract-int.p9.c, fold-vec-extract-longlong.p7.c and fold-vec-extract-longlong.p8.c. It seems silly to count addi in a function epilogue, and fragile to count them in code. So remove the ilp32 addi checks. * gcc.target/powerpc/fold-vec-extract-char.p9.c: Don't check addi count for ilp32. * gcc.target/powerpc/fold-vec-extract-int.p9.c: Likewise. * gcc.target/powerpc/fold-vec-extract-longlong.p7.c: Likewise. * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: Likewise. * gcc.target/powerpc/fold-vec-insert-int-p9.c: Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.target/powerpc/fold-vec-extract-char.p9.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/fold-vec-extract-int.p9.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p7.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p8.c1
-rw-r--r--gcc/testsuite/gcc.target/powerpc/fold-vec-insert-int-p9.c2
5 files changed, 0 insertions, 6 deletions
diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-char.p9.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-char.p9.c
index ff03c9a..8a4c380 100644
--- a/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-char.p9.c
+++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-char.p9.c
@@ -12,7 +12,6 @@
/* { dg-final { scan-assembler-times "stxv" 6 { target ilp32 } } } */
/* { dg-final { scan-assembler-times "lbz" 6 { target ilp32 } } } */
-/* { dg-final { scan-assembler-times "addi" 3 { target ilp32 } } } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-int.p9.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-int.p9.c
index 868b673..1abf19d 100644
--- a/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-int.p9.c
+++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-int.p9.c
@@ -18,7 +18,6 @@
/* { dg-final { scan-assembler-times {\madd\M} 3 { target ilp32 } } } */
/* { dg-final { scan-assembler-times {\mstxv\M} 6 { target ilp32 } } } */
/* { dg-final { scan-assembler-times {\mlwz\M} 6 { target ilp32 } } } */
-/* { dg-final { scan-assembler-times {\maddi\M} 3 { target ilp32 } } } */
#include <altivec.h>
diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p7.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p7.c
index 033d21c..b97fcb4 100644
--- a/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p7.c
+++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p7.c
@@ -22,7 +22,6 @@
/* -m32 target with constant test uses (+2)li where the -m64 has an ld */
/* { dg-final { scan-assembler-times {\mli\M} 5 { target ilp32 } } } */
/* { dg-final { scan-assembler-times {\maddi\M} 6 { target lp64 } } } */
-/* { dg-final { scan-assembler-times {\maddi\M} 4 { target ilp32 } } } */
/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstvx\M} 3 } } */
/* { dg-final { scan-assembler-times {\mrldic\M|\mrlwinm\M} 3 } } */
/* { dg-final { scan-assembler-times {\mldx\M} 3 { target lp64 } } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p8.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p8.c
index 0b624d2..8ddce3fd 100644
--- a/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p8.c
+++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-extract-longlong.p8.c
@@ -17,7 +17,6 @@
/* { dg-final { scan-assembler-times {\mstxvd2x\M|\mstxvw4x\M} 4 { target ilp32 } } } */
/* { dg-final { scan-assembler-times {\madd\M} 3 { target ilp32 } } } */
/* { dg-final { scan-assembler-times {\mlwz\M} 11 { target ilp32 } } } */
-/* { dg-final { scan-assembler-times {\maddi\M} 4 { target ilp32 } } } */
/* { dg-final { scan-assembler-times {\mmfvsrd\M} 6 { target lp64 } } } */
/* { dg-final { scan-assembler-times {\mmtvsrd\M} 3 { target lp64 } } } */
/* { dg-final { scan-assembler-times {\mxxpermdi\M} 3 { target le } } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/fold-vec-insert-int-p9.c b/gcc/testsuite/gcc.target/powerpc/fold-vec-insert-int-p9.c
index 81ac1f1..a851fd6 100644
--- a/gcc/testsuite/gcc.target/powerpc/fold-vec-insert-int-p9.c
+++ b/gcc/testsuite/gcc.target/powerpc/fold-vec-insert-int-p9.c
@@ -58,8 +58,6 @@ testui2_cst(unsigned int x, vector unsigned int v)
/* { dg-final { scan-assembler-times {\mmtvsrwz\M} 4 { target lp64 } } } */
/* { dg-final { scan-assembler-times {\mxxinsertw\M} 4 { target lp64 } } } */
-
-/* { dg-final { scan-assembler-times {\maddi\M} 8 { target ilp32 } } } */
/* { dg-final { scan-assembler-times {\mstw\M} 8 { target ilp32 } } } */
/* { dg-final { scan-assembler-times {\mlxv\M} 8 { target ilp32 } } } */
/* { dg-final { scan-assembler-times {\mlvewx\M} 4 { target ilp32 } } } */