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 -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University 2019-08-21 Rainer Orth <r...@cebitec.uni-bielefeld.de> * gcc.target/i386/minmax-4.c: Add -mno-stackrealign to dg-options. * gcc.target/i386/minmax-5.c: Likewise. * gcc.target/i386/minmax-6.c: Likewise. * gcc.target/i386/minmax-7.c: Likewise. * gcc.target/i386/pr91154.c: Likewise.
# 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) {