Hi, This is the patch to fix gcc.target/aarch64/auto-init-* tests.
I have tested the change on aarch64-linux with make check-gcc RUNTESTFLAGS='--target_board=unix\{-mabi=lp64,-mabi=ilp32,-mabi=lp64/-fstack-clash-protection/-fstack-protector-all,-mabi=ilp32/-fstack-clash-protection/-fstack-protector-all,-mabi=lp64/-march=armv8-a,-mabi=ilp32/-march=armv8.2-a,-mabi=lp64/-march=armv8.4-a,-mabi=ilp32/-march=armv8.6-a,-mabi=lp64/-march=armv8-r\} aarch64.exp=auto-init*' Everything works fine. Okay for commit? Thanks. Qing ============================== >From c46888eed5621df842178a85adf7e221c7e00b48 Mon Sep 17 00:00:00 2001 From: qing zhao <qing.z...@oracle.com> Date: Tue, 21 Sep 2021 12:05:32 -0700 Subject: [PATCH] testsuite: Fix gcc.target/aarch64/auto-init-* tests. Add -fno-stack-protector for two testing cases and also different pattern match for lp64 and ilp32 for the other two cases. gcc/testsuite/ChangeLog: 2021-09-21 qing zhao <qing.z...@oracle.com> * gcc.target/aarch64/auto-init-1.c: Add -fno-stack-protector. * gcc.target/aarch64/auto-init-7.c: Likewise. * gcc.target/aarch64/auto-init-2.c: Different pattern match for lp64 and ilp32. * gcc.target/aarch64/auto-init-padding-5.c: Likewise. --- gcc/testsuite/gcc.target/aarch64/auto-init-1.c | 2 +- gcc/testsuite/gcc.target/aarch64/auto-init-2.c | 3 ++- gcc/testsuite/gcc.target/aarch64/auto-init-7.c | 2 +- gcc/testsuite/gcc.target/aarch64/auto-init-padding-5.c | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/gcc.target/aarch64/auto-init-1.c b/gcc/testsuite/gcc.target/aarch64/auto-init-1.c index 0fa4708..a38d91b 100644 --- a/gcc/testsuite/gcc.target/aarch64/auto-init-1.c +++ b/gcc/testsuite/gcc.target/aarch64/auto-init-1.c @@ -1,6 +1,6 @@ /* Verify zero initialization for integer and pointer type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand -fno-stack-protector" } */ #ifndef __cplusplus # define bool _Bool diff --git a/gcc/testsuite/gcc.target/aarch64/auto-init-2.c b/gcc/testsuite/gcc.target/aarch64/auto-init-2.c index 2c54e6d..136dbf6 100644 --- a/gcc/testsuite/gcc.target/aarch64/auto-init-2.c +++ b/gcc/testsuite/gcc.target/aarch64/auto-init-2.c @@ -32,4 +32,5 @@ void foo() /* { dg-final { scan-rtl-dump-times "0xfe\\\]" 1 "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" 2 "expand" } } */ +/* { dg-final { scan-rtl-dump-times "0xfefefefefefefefe" 2 "expand" { target lp64 } } } */ +/* { dg-final { scan-rtl-dump-times "0xfefefefefefefefe" 1 "expand" { target ilp32 } } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/auto-init-7.c b/gcc/testsuite/gcc.target/aarch64/auto-init-7.c index ac27fbe..fde6e56 100644 --- a/gcc/testsuite/gcc.target/aarch64/auto-init-7.c +++ b/gcc/testsuite/gcc.target/aarch64/auto-init-7.c @@ -1,6 +1,6 @@ /* Verify zero initialization for array, union, and structure type automatic variables. */ /* { dg-do compile } */ -/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand" } */ +/* { dg-options "-ftrivial-auto-var-init=zero -fdump-rtl-expand -fno-stack-protector" } */ struct S { diff --git a/gcc/testsuite/gcc.target/aarch64/auto-init-padding-5.c b/gcc/testsuite/gcc.target/aarch64/auto-init-padding-5.c index 3c45a6c..7991367 100644 --- a/gcc/testsuite/gcc.target/aarch64/auto-init-padding-5.c +++ b/gcc/testsuite/gcc.target/aarch64/auto-init-padding-5.c @@ -17,6 +17,7 @@ int foo () return var.four; } -/* { dg-final { scan-assembler-times "stp\txzr, xzr," 2 } } */ +/* { dg-final { scan-assembler-times "stp\txzr, xzr," 2 { target lp64 } } } */ +/* { dg-final { scan-assembler-times "stp\txzr, xzr," 1 { target ilp32 } } } */ -- 1.9.1