> On Sep 11, 2021, at 3:03 AM, Jakub Jelinek <ja...@redhat.com> wrote: > > Note, the gcc.dg/i386/auto-init* tests fail also, just don't have time to > deal with that right now, just try > make check-gcc RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} > i386.exp=auto-init*'
It’s strange that the above testing on my local x86 machine with the latest gcc had less failure than the following: [opc@qinzhao-ol8u3-x86 build-boot]$ make check-gcc RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} i386.exp=auto-init*' &> log & [1] 3885164 [opc@qinzhao-ol8u3-x86 build-boot]$ [1]+ Done make check-gcc RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} i386.exp=auto-init*' &> log [opc@qinzhao-ol8u3-x86 build-boot]$ egrep FAIL gcc/testsuite/gcc/gcc.sum FAIL: gcc.target/i386/auto-init-2.c scan-rtl-dump-times expand "0xfffffffffefefefe" 2 FAIL: gcc.target/i386/auto-init-2.c scan-rtl-dump-times expand "0xfefefefefefefefe" 3 FAIL: gcc.target/i386/auto-init-3.c scan-assembler-times pxor\t\\%xmm0, \\%xmm0 3 FAIL: gcc.target/i386/auto-init-4.c scan-rtl-dump-times expand "0xfffffffffefefefe" 1 FAIL: gcc.target/i386/auto-init-4.c scan-rtl-dump-times expand "\\[0xfefefefefefefefe\\]" 1 FAIL: gcc.target/i386/auto-init-4.c scan-rtl-dump-times expand "0xfffffffffffffffe\\]\\) repeated x16" 1 FAIL: gcc.target/i386/auto-init-5.c scan-assembler-times \\.long\t0 14 FAIL: gcc.target/i386/auto-init-padding-3.c scan-assembler movl\t\\$16, FAIL: gcc.target/i386/auto-init-padding-3.c scan-assembler rep stosq FAIL: gcc.target/i386/auto-init-padding-7.c scan-assembler-times movq\t\\$0, 2 FAIL: gcc.target/i386/auto-init-padding-8.c scan-assembler-times movq\t\\$0, 2 FAIL: gcc.target/i386/auto-init-padding-9.c scan-assembler rep stosq I am wondering whether the default value for “-march” option might be different on different platforms? ( I see if I add -march=cascadelake, then I will get more failures). I have a patch to the above FAILURES as: Please take a look and let me know your comments: thanks. Qing From deb44a929ee27b097cc2351c4a4d7644bee68277 Mon Sep 17 00:00:00 2001 From: Qing Zhao <qing.z...@oracle.com> Date: Wed, 15 Sep 2021 17:22:07 +0000 Subject: [PATCH] fix i386 testing cases failure for m32 --- gcc/testsuite/gcc.target/i386/auto-init-2.c | 6 ++++-- gcc/testsuite/gcc.target/i386/auto-init-3.c | 3 ++- gcc/testsuite/gcc.target/i386/auto-init-4.c | 8 +++++--- gcc/testsuite/gcc.target/i386/auto-init-5.c | 5 +++-- gcc/testsuite/gcc.target/i386/auto-init-padding-3.c | 6 ++++-- gcc/testsuite/gcc.target/i386/auto-init-padding-7.c | 5 +++-- gcc/testsuite/gcc.target/i386/auto-init-padding-8.c | 7 +++---- gcc/testsuite/gcc.target/i386/auto-init-padding-9.c | 5 ++++- 8 files changed, 28 insertions(+), 17 deletions(-) diff --git a/gcc/testsuite/gcc.target/i386/auto-init-2.c b/gcc/testsuite/gcc.target/i386/auto-init-2.c index e76fc2565168..ea12b29baefd 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-2.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-2.c @@ -31,6 +31,8 @@ void foo() /* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe" 2 "expand" } } */ /* { dg-final { scan-rtl-dump-times "0xfffffffffffffefe" 1 "expand" } } */ -/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 2 "expand" } } */ -/* { dg-final { scan-rtl-dump-times "0xfefefefefefefefe" 3 "expand" } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 2 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfefefefefefefefe" 3 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 4 "expand" { target ia32 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfefefefefefefefe" 1 "expand" { target ia32 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-3.c b/gcc/testsuite/gcc.target/i386/auto-init-3.c index 300ddfb34f11..8c6326384054 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-3.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-3.c @@ -14,4 +14,5 @@ long double foo() return result; } -/* { dg-final { scan-assembler-times "pxor\t\\\%xmm0, \\\%xmm0" 3 } } */ +/* { dg-final { scan-assembler-times "pxor\t\\\%xmm0, \\\%xmm0" 3 { target lp64 } } } */ +/* { dg-final { scan-assembler-times "fldz" 3 { target ia32} } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-4.c b/gcc/testsuite/gcc.target/i386/auto-init-4.c index abe0b7e46a07..62102c7db946 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-4.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-4.c @@ -14,7 +14,9 @@ long double foo() return result; } -/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 1 "expand" } } */ -/* { dg-final { scan-rtl-dump-times "\\\[0xfefefefefefefefe\\\]" 1 "expand" } } */ -/* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe\\\]\\\) repeated x16" 1 "expand" } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 1 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "\\\[0xfefefefefefefefe\\\]" 1 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffffffffe\\\]\\\) repeated x16" 1 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfffffffffefefefe" 2 "expand" { target ia32 } } } */ +/* { dg-final { scan-rtl-dump-times "\\\[0xfefefefefefefefe\\\]" 2 "expand" { target ia32 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-5.c b/gcc/testsuite/gcc.target/i386/auto-init-5.c index b2e708c52893..27d971f8cf11 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-5.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-5.c @@ -1,6 +1,6 @@ /* Verify zero initialization for complex type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=zero" } */ _Complex long double result; @@ -15,6 +15,7 @@ _Complex long double foo() return result; } -/* { dg-final { scan-assembler-times "\\.long\t0" 14 } } */ +/* { dg-final { scan-assembler-times "\\.long\t0" 14 { target lp64 } } } */ +/* { dg-final { scan-assembler-times "\\.long\t0" 12 { target ia32 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-3.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-3.c index 8a6d764b9fa4..1661c867f915 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-3.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-3.c @@ -24,7 +24,9 @@ int foo () } /* { dg-final { scan-assembler "movl\t\\\$0," } } */ -/* { dg-final { scan-assembler "movl\t\\\$16," } } */ -/* { dg-final { scan-assembler "rep stosq" } } */ +/* { dg-final { scan-assembler "movl\t\\\$16," { target lp64 } } } */ +/* { dg-final { scan-assembler "rep stosq" { target lp64 } } } */ +/* { dg-final { scan-assembler "movl\t\\\$32," { target ia32 } } } */ +/* { dg-final { scan-assembler "rep stosl" { target ia32 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-7.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-7.c index b5abffb0fc66..62c0c042017f 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-7.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-7.c @@ -1,7 +1,7 @@ /* Verify zero initialization for structure type automatic variables with padding and has explicit initialization. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ struct test_trailing_hole { int one; @@ -17,6 +17,7 @@ int foo () return var.four; } -/* { dg-final { scan-assembler-times "movq\t\\\$0," 2 } } */ +/* { dg-final { scan-rtl-dump-times "const_int 0 \\\[0\\\]\\\) repeated x16" 1 "expand" { target ia32 } } } */ +/* { dg-final { scan-rtl-dump-times "const_int 0 \\\[0\\\]\\\)" 1 "expand" { target lp64 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-8.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-8.c index 66591cff4488..0e0ee7b8cbbf 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-8.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-8.c @@ -1,7 +1,7 @@ /* Verify pattern initialization for structure type automatic variables with padding and has explicit initialization. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=pattern" } */ +/* { dg-options "-ftrivial-auto-var-init=pattern -fdump-rtl-expand" } */ struct test_trailing_hole { int one; @@ -17,6 +17,5 @@ int foo () return var.four; } -/* { dg-final { scan-assembler-times "movq\t\\\$0," 2 } } */ - - +/* { dg-final { scan-rtl-dump-times "const_int 0 \\\[0\\\]\\\) repeated x16" 1 "expand" { target ia32 } } } */ +/* { dg-final { scan-rtl-dump-times "const_int 0 \\\[0\\\]\\\)" 1 "expand" { target lp64 } } } */ diff --git a/gcc/testsuite/gcc.target/i386/auto-init-padding-9.c b/gcc/testsuite/gcc.target/i386/auto-init-padding-9.c index 1ff900f95b98..4f02e9566bdc 100644 --- a/gcc/testsuite/gcc.target/i386/auto-init-padding-9.c +++ b/gcc/testsuite/gcc.target/i386/auto-init-padding-9.c @@ -19,4 +19,7 @@ int foo () } /* { dg-final { scan-assembler "movl\t\\\$0," } } */ -/* { dg-final { scan-assembler "rep stosq" } } */ +/* { dg-final { scan-assembler "movl\t\\\$20," { target lp64} } } */ +/* { dg-final { scan-assembler "rep stosq" { target lp64 } } } */ +/* { dg-final { scan-assembler "movl\t\\\$40," { target ia32} } } */ +/* { dg-final { scan-assembler "rep stosl" { target ia32 } } } */ -- 2.27.0 > Guess some of those tests should be restricted to lp64 in there, others > where it might be easier to check all of lp64, x32 and ia32 code generation > could have different matches. Wonder also about the aarch64 tests, there is > also -mabi=ilp32... > +FAIL: gcc.target/i386/auto-init-2.c scan-rtl-dump-times expand > "0xfefefefefefefefe" 3 > +FAIL: gcc.target/i386/auto-init-2.c scan-rtl-dump-times expand > "0xfffffffffefefefe" 2 > +FAIL: gcc.target/i386/auto-init-3.c scan-assembler-times pxor\\t\\\\%xmm0, > \\\\%xmm0 3 > +FAIL: gcc.target/i386/auto-init-4.c scan-rtl-dump-times expand > "0xfffffffffefefefe" 1 > +FAIL: gcc.target/i386/auto-init-4.c scan-rtl-dump-times expand > "0xfffffffffffffffe\\\\]\\\\) repeated x16" 1 > +FAIL: gcc.target/i386/auto-init-4.c scan-rtl-dump-times expand > "\\\\[0xfefefefefefefefe\\\\]" 1 > +FAIL: gcc.target/i386/auto-init-5.c scan-assembler-times \\\\.long\\t0 14 > +FAIL: gcc.target/i386/auto-init-6.c scan-rtl-dump-times expand > "0xfffffffffffffffe\\\\]\\\\) repeated x16" 2 > +FAIL: gcc.target/i386/auto-init-6.c scan-rtl-dump-times expand > "\\\\[0xfefefefefefefefe\\\\]" 1 > +FAIL: gcc.target/i386/auto-init-7.c scan-rtl-dump-times expand "const_int 0 > \\\\[0\\\\]\\\\) repeated x16" 2 > +FAIL: gcc.target/i386/auto-init-7.c scan-rtl-dump-times expand "const_int 0 > \\\\[0\\\\]\\\\)\\\\)" 3 > +FAIL: gcc.target/i386/auto-init-8.c scan-rtl-dump-times expand > "0xfffffffffefefefe" 1 > +FAIL: gcc.target/i386/auto-init-8.c scan-rtl-dump-times expand > "0xfffffffffffffffe\\\\]\\\\) repeated x16" 2 > +FAIL: gcc.target/i386/auto-init-8.c scan-rtl-dump-times expand > "\\\\[0xfefefefefefefefe\\\\]" 2 > +FAIL: gcc.target/i386/auto-init-padding-1.c scan-rtl-dump-times expand > "const_int 0 \\\\[0\\\\]\\\\) repeated x16" 1 > +FAIL: gcc.target/i386/auto-init-padding-10.c scan-rtl-dump-times expand > "0xfffffffffffffffe\\\\]\\\\) repeated x16" 1 > +FAIL: gcc.target/i386/auto-init-padding-11.c scan-rtl-dump-times expand > "const_int 0 \\\\[0\\\\]\\\\) repeated x16" 1 > +FAIL: gcc.target/i386/auto-init-padding-12.c scan-rtl-dump-times expand > "0xfffffffffffffffe\\\\]\\\\) repeated x16" 1 > +FAIL: gcc.target/i386/auto-init-padding-2.c scan-rtl-dump-times expand > "0xfffffffffffffffe\\\\]\\\\) repeated x16" 1 > +FAIL: gcc.target/i386/auto-init-padding-3.c scan-assembler movl\\t\\\\\$16, > +FAIL: gcc.target/i386/auto-init-padding-3.c scan-assembler rep stosq > +FAIL: gcc.target/i386/auto-init-padding-4.c scan-rtl-dump-times expand > "0xfffffffffffffffe\\\\]\\\\) repeated x16" 1 > +FAIL: gcc.target/i386/auto-init-padding-5.c scan-rtl-dump-times expand > "const_int 0 \\\\[0\\\\]\\\\) repeated x16" 1 > +FAIL: gcc.target/i386/auto-init-padding-6.c scan-rtl-dump-times expand > "0xfffffffffffffffe\\\\]\\\\) repeated x16" 1 > +FAIL: gcc.target/i386/auto-init-padding-7.c scan-assembler-times > movq\\t\\\\\$0, 2 > +FAIL: gcc.target/i386/auto-init-padding-8.c scan-assembler-times > movq\\t\\\\\$0, 2 > +FAIL: gcc.target/i386/auto-init-padding-9.c scan-assembler rep stosq >