> 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
> 

Reply via email to