Message ID | yddh9856b22.fsf@CeBiTec.Uni-Bielefeld.DE |
---|---|
State | New |
Headers | show |
On Fri, Oct 21, 2016 at 4:17 PM, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote: > The following patch works around quite a number of i386 testcases > FAILing on Solaris/x86, as reported in the PR. To avoid tons of > testsuite noise, the following patch adds -mno-stackrealign to the > affected testcases and will thus benefit other targets that default to > -mstackrealign, too. > > Bootstrapped without regressions on i386-pc-solaris2.12 and > x86_64-pc-linux-gnuu (both multilibs in each case). > > Ok for mainline and (eventually) the gcc-6 branch? > > Thanks. > Rainer > > -- > ----------------------------------------------------------------------------- > Rainer Orth, Center for Biotechnology, Bielefeld University > > > 2016-09-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> > > PR target/77483 > * gcc.target/i386/mask-unpack.c (dg-options): Add -mno-stackrealign. > * gcc.target/i386/pr65105-1.c: Likewise. > * gcc.target/i386/pr65105-2.c: Likewise. > * gcc.target/i386/pr65105-3.c: Likewise. > * gcc.target/i386/pr65105-5.c: Likewise. > * gcc.target/i386/pr67761.c: Likewise. > * gcc.target/i386/pr70799-1.c: Likewise. OK, also for backport. FTR, we realign main even with -mno-stackrealign, so simple runtime tests should work OK on targets that default to -mstackrealign. Thanks, Uros.
# HG changeset patch # Parent 3e7f3a609bf8231e3e4c8be3a1a84b62a02a1e1e Work around -mstackrealign disabled for 32-bit (PR target/77483) diff --git a/gcc/testsuite/gcc.target/i386/mask-unpack.c b/gcc/testsuite/gcc.target/i386/mask-unpack.c --- a/gcc/testsuite/gcc.target/i386/mask-unpack.c +++ b/gcc/testsuite/gcc.target/i386/mask-unpack.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-mavx512bw -mavx512dq -O3 -fopenmp-simd -fdump-tree-vect-details" } */ +/* { dg-options "-mavx512bw -mavx512dq -mno-stackrealign -O3 -fopenmp-simd -fdump-tree-vect-details" } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 10 "vect" } } */ /* { dg-final { scan-assembler-not "maskmov" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr65105-1.c b/gcc/testsuite/gcc.target/i386/pr65105-1.c --- a/gcc/testsuite/gcc.target/i386/pr65105-1.c +++ b/gcc/testsuite/gcc.target/i386/pr65105-1.c @@ -1,6 +1,6 @@ /* PR target/pr65105 */ /* { dg-do run { target { ia32 } } } */ -/* { dg-options "-O2 -msse2 -mtune=slm -save-temps" } */ +/* { dg-options "-O2 -msse2 -mtune=slm -mno-stackrealign -save-temps" } */ /* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "por" } } */ /* { dg-final { scan-assembler "pand" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr65105-2.c b/gcc/testsuite/gcc.target/i386/pr65105-2.c --- a/gcc/testsuite/gcc.target/i386/pr65105-2.c +++ b/gcc/testsuite/gcc.target/i386/pr65105-2.c @@ -1,6 +1,6 @@ /* PR target/pr65105 */ /* { dg-do compile { target { ia32 } } } */ -/* { dg-options "-O2 -msse2" } */ +/* { dg-options "-O2 -msse2 -mno-stackrealign" } */ /* { dg-final { scan-assembler "por" } } */ long long i1, i2, res; diff --git a/gcc/testsuite/gcc.target/i386/pr65105-3.c b/gcc/testsuite/gcc.target/i386/pr65105-3.c --- a/gcc/testsuite/gcc.target/i386/pr65105-3.c +++ b/gcc/testsuite/gcc.target/i386/pr65105-3.c @@ -1,6 +1,6 @@ /* PR target/pr65105 */ /* { dg-do compile { target { ia32 } } } */ -/* { dg-options "-O2 -march=slm -msse4.2" } */ +/* { dg-options "-O2 -march=slm -msse4.2 -mno-stackrealign" } */ /* { dg-final { scan-assembler "pand" } } */ /* { dg-final { scan-assembler "por" } } */ /* { dg-final { scan-assembler "ptest" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr65105-5.c b/gcc/testsuite/gcc.target/i386/pr65105-5.c --- a/gcc/testsuite/gcc.target/i386/pr65105-5.c +++ b/gcc/testsuite/gcc.target/i386/pr65105-5.c @@ -1,6 +1,6 @@ /* PR target/pr65105 */ /* { dg-do compile { target { ia32 } } } */ -/* { dg-options "-O2 -march=core-avx2" } */ +/* { dg-options "-O2 -march=core-avx2 -mno-stackrealign" } */ /* { dg-final { scan-assembler "pandn" } } */ /* { dg-final { scan-assembler "pxor" } } */ /* { dg-final { scan-assembler "ptest" } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr67761.c b/gcc/testsuite/gcc.target/i386/pr67761.c --- a/gcc/testsuite/gcc.target/i386/pr67761.c +++ b/gcc/testsuite/gcc.target/i386/pr67761.c @@ -1,6 +1,6 @@ /* PR target/pr67761 */ /* { dg-do compile { target { ia32 } } } */ -/* { dg-options "-O2 -march=slm -g" } */ +/* { dg-options "-O2 -march=slm -mno-stackrealign -g" } */ /* { dg-final { scan-assembler "paddq" } } */ void diff --git a/gcc/testsuite/gcc.target/i386/pr70799-1.c b/gcc/testsuite/gcc.target/i386/pr70799-1.c --- a/gcc/testsuite/gcc.target/i386/pr70799-1.c +++ b/gcc/testsuite/gcc.target/i386/pr70799-1.c @@ -1,6 +1,6 @@ /* PR target/pr70799 */ /* { dg-do compile { target { ia32 } } } */ -/* { dg-options "-O2 -march=slm" } */ +/* { dg-options "-O2 -march=slm -mno-stackrealign" } */ /* { dg-final { scan-assembler "pxor" } } */ /* { dg-final { scan-assembler "pcmpeqd" } } */ /* { dg-final { scan-assembler "movdqa\[ \\t\]+.?LC0" } } */