[testsuite,i386] Fix gcc.target/i386/minmax-4.c etc. on 32-bit Solaris/x86
diff mbox series

Message ID yddzhk1p6t5.fsf@CeBiTec.Uni-Bielefeld.DE
State New
Headers show
Series
  • [testsuite,i386] Fix gcc.target/i386/minmax-4.c etc. on 32-bit Solaris/x86
Related show

Commit Message

Rainer Orth Aug. 22, 2019, 3:18 p.m. UTC
The new gcc.target/i386/minmax-4.c etc. testcases currently FAIL on
32-bit Solaris/x86:

FAIL: gcc.target/i386/minmax-4.c scan-assembler-times pmaxsd 1
FAIL: gcc.target/i386/minmax-4.c scan-assembler-times pmaxud 1
FAIL: gcc.target/i386/minmax-4.c scan-assembler-times pminsd 1
FAIL: gcc.target/i386/minmax-4.c scan-assembler-times pminud 1
FAIL: gcc.target/i386/minmax-5.c scan-assembler-times vpmaxsd 1
FAIL: gcc.target/i386/minmax-5.c scan-assembler-times vpmaxud 1
FAIL: gcc.target/i386/minmax-5.c scan-assembler-times vpminsd 1
FAIL: gcc.target/i386/minmax-5.c scan-assembler-times vpminud 1
FAIL: gcc.target/i386/minmax-6.c scan-assembler pmaxsd
FAIL: gcc.target/i386/minmax-7.c scan-assembler pminsd
FAIL: gcc.target/i386/pr91154.c scan-assembler-not cmov
FAIL: gcc.target/i386/pr91154.c scan-assembler-times paddd 2
FAIL: gcc.target/i386/pr91154.c scan-assembler-times pmaxsd 2

I'd mentioned this in PRs target/91154 and target/91498 where Uros
pointed out that 32-bit Solaris/x86 only guarantees 4-byte stack
alignment, thus STV is disabled.

In line with several other STV tests, adding -mno-stackrealign to the
options fixes the failures.

Tested with the appropriate runtest invocation on i386-pc-solaris2.11
and x86_64-pc-linux-gnu.

Ok for mainline?

	Rainer

Comments

Jeff Law Aug. 22, 2019, 4:25 p.m. UTC | #1
On 8/22/19 9:18 AM, Rainer Orth wrote:
> The new gcc.target/i386/minmax-4.c etc. testcases currently FAIL on
> 32-bit Solaris/x86:
> 
> FAIL: gcc.target/i386/minmax-4.c scan-assembler-times pmaxsd 1
> FAIL: gcc.target/i386/minmax-4.c scan-assembler-times pmaxud 1
> FAIL: gcc.target/i386/minmax-4.c scan-assembler-times pminsd 1
> FAIL: gcc.target/i386/minmax-4.c scan-assembler-times pminud 1
> FAIL: gcc.target/i386/minmax-5.c scan-assembler-times vpmaxsd 1
> FAIL: gcc.target/i386/minmax-5.c scan-assembler-times vpmaxud 1
> FAIL: gcc.target/i386/minmax-5.c scan-assembler-times vpminsd 1
> FAIL: gcc.target/i386/minmax-5.c scan-assembler-times vpminud 1
> FAIL: gcc.target/i386/minmax-6.c scan-assembler pmaxsd
> FAIL: gcc.target/i386/minmax-7.c scan-assembler pminsd
> FAIL: gcc.target/i386/pr91154.c scan-assembler-not cmov
> FAIL: gcc.target/i386/pr91154.c scan-assembler-times paddd 2
> FAIL: gcc.target/i386/pr91154.c scan-assembler-times pmaxsd 2
> 
> I'd mentioned this in PRs target/91154 and target/91498 where Uros
> pointed out that 32-bit Solaris/x86 only guarantees 4-byte stack
> alignment, thus STV is disabled.
> 
> In line with several other STV tests, adding -mno-stackrealign to the
> options fixes the failures.
> 
> Tested with the appropriate runtest invocation on i386-pc-solaris2.11
> and x86_64-pc-linux-gnu.
> 
> Ok for mainline?
OK.
Jeff

Patch
diff mbox series

# HG changeset patch
# Parent  82b696ad52afcccff42b7b86c591cff9732e667e
Fix gcc.target/i386/minmax-4.c etc. on 32-bit Solaris/x86

diff --git a/gcc/testsuite/gcc.target/i386/minmax-4.c b/gcc/testsuite/gcc.target/i386/minmax-4.c
--- a/gcc/testsuite/gcc.target/i386/minmax-4.c
+++ b/gcc/testsuite/gcc.target/i386/minmax-4.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O2 -mstv -msse4.1" } */
+/* { dg-options "-O2 -mstv -mno-stackrealign -msse4.1" } */
 
 #include "minmax-3.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/minmax-5.c b/gcc/testsuite/gcc.target/i386/minmax-5.c
--- a/gcc/testsuite/gcc.target/i386/minmax-5.c
+++ b/gcc/testsuite/gcc.target/i386/minmax-5.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O2 -mstv -mavx512vl" } */
+/* { dg-options "-O2 -mstv -mno-stackrealign -mavx512vl" } */
 
 #include "minmax-3.c"
 
diff --git a/gcc/testsuite/gcc.target/i386/minmax-6.c b/gcc/testsuite/gcc.target/i386/minmax-6.c
--- a/gcc/testsuite/gcc.target/i386/minmax-6.c
+++ b/gcc/testsuite/gcc.target/i386/minmax-6.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=haswell" } */
+/* { dg-options "-O2 -march=haswell -mno-stackrealign" } */
 
 unsigned short
 UMVLine16Y_11 (short unsigned int * Pic, int y, int width)
diff --git a/gcc/testsuite/gcc.target/i386/minmax-7.c b/gcc/testsuite/gcc.target/i386/minmax-7.c
--- a/gcc/testsuite/gcc.target/i386/minmax-7.c
+++ b/gcc/testsuite/gcc.target/i386/minmax-7.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O2 -march=haswell" } */
+/* { dg-options "-O2 -march=haswell -mno-stackrealign" } */
 
 extern int numBins;
 extern int binOffst;
diff --git a/gcc/testsuite/gcc.target/i386/pr91154.c b/gcc/testsuite/gcc.target/i386/pr91154.c
--- a/gcc/testsuite/gcc.target/i386/pr91154.c
+++ b/gcc/testsuite/gcc.target/i386/pr91154.c
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-options "-O2 -msse4.1 -mstv" } */
+/* { dg-options "-O2 -msse4.1 -mstv -mno-stackrealign" } */
 
 void foo (int *dc, int *mc, int *tpdd, int *tpmd, int M)
 {