https://gcc.gnu.org/g:d5080a7b06704b02f0318129ffb27734bc4254e9
commit r16-1887-gd5080a7b06704b02f0318129ffb27734bc4254e9 Author: Rainer Orth <r...@cebitec.uni-bielefeld.de> Date: Tue Jul 1 11:31:00 2025 +0200 testsuite: i386: Fix g++.target/i386/memset-pr101366-1.C etc. on Solaris/x86 Several new tests from commit d073bb6cfc219d4b6c283a0b527ee88b42e640e0 Author: H.J. Lu <hjl.to...@gmail.com> Date: Thu Mar 18 18:43:10 2021 -0700 x86: Update memcpy/memset inline strategies for -mtune=generic FAIL on Solaris/x86: FAIL: g++.target/i386/memset-pr101366-1.C check-function-bodies _Z4TestPc FAIL: g++.target/i386/memset-pr101366-2.C check-function-bodies _Z4TestPc FAIL: g++.target/i386/memset-pr108585-1a.C check-function-bodies _Z6squarei FAIL: g++.target/i386/memset-pr108585-1b.C check-function-bodies _Z6squarei FAIL: g++.target/i386/memset-pr118276-1a.C check-function-bodies _Z22makeDefaultConstructedv FAIL: g++.target/i386/memset-pr118276-1b.C check-function-bodies _Z22makeDefaultConstructedv FAIL: g++.target/i386/memset-pr118276-1c.C check-function-bodies _Z22makeDefaultConstructedv FAIL: gcc.target/i386/memset-pr70308-1a.c check-function-bodies foo FAIL: gcc.target/i386/memset-pr70308-1b.c check-function-bodies foo FAIL: gcc.target/i386/memset-strategy-25.c check-function-bodies foo FAIL: gcc.target/i386/memset-strategy-28.c check-function-bodies foo FAIL: gcc.target/i386/memset-strategy-29.c check-function-bodies foo FAIL: gcc.target/i386/memset-strategy-30.c check-function-bodies foo FAIL: gcc.target/i386/pr92080-17.c check-function-bodies foo The issue is the same as in https://gcc.gnu.org/pipermail/gcc-patches/2025-March/679330.html All the tests need -fasynchronous-unwind-tables -fdwarf2-cfi-asm, some also -fomit-frame-pointer and -mno-stackrealign. Tested on i386-pc-solaris2.11 and x86_64-pc-linux-gnu. 2025-06-25 Rainer Orth <r...@cebitec.uni-bielefeld.de> gcc/testsuite: * g++.target/i386/memset-pr101366-1.C (dg-options): Add -fasynchronous-unwind-tables -fdwarf2-cfi-asm. * g++.target/i386/memset-pr101366-2.C: Likewise. * g++.target/i386/memset-pr118276-1a.C: Likewise. * g++.target/i386/memset-pr118276-1b.C: Likewise. * g++.target/i386/memset-pr118276-1c.C: Likewise. * gcc.target/i386/memset-pr70308-1a.c: Likewise. * gcc.target/i386/memset-strategy-25.c: Likewise. * gcc.target/i386/memset-strategy-28.c: Likewise. * gcc.target/i386/memset-strategy-29.c: Likewise. * gcc.target/i386/memset-strategy-30.c: Likewise. * gcc.target/i386/pr92080-17.c: Likewise. * gcc.target/i386/memset-pr70308-1b.c: Likewise. Also add -fomit-frame-pointer. * g++.target/i386/memset-pr108585-1a.C: (dg-options): Add -fasynchronous-unwind-tables -fdwarf2-cfi-asm. Also add -mno-stackrealign -fomit-frame-pointer. * g++.target/i386/memset-pr108585-1b.C: Likewise. Diff: --- gcc/testsuite/g++.target/i386/memset-pr101366-1.C | 2 +- gcc/testsuite/g++.target/i386/memset-pr101366-2.C | 2 +- gcc/testsuite/g++.target/i386/memset-pr108585-1a.C | 2 +- gcc/testsuite/g++.target/i386/memset-pr108585-1b.C | 2 +- gcc/testsuite/g++.target/i386/memset-pr118276-1a.C | 2 +- gcc/testsuite/g++.target/i386/memset-pr118276-1b.C | 2 +- gcc/testsuite/g++.target/i386/memset-pr118276-1c.C | 2 +- gcc/testsuite/gcc.target/i386/memset-pr70308-1a.c | 2 +- gcc/testsuite/gcc.target/i386/memset-pr70308-1b.c | 2 +- gcc/testsuite/gcc.target/i386/memset-strategy-25.c | 2 +- gcc/testsuite/gcc.target/i386/memset-strategy-28.c | 2 +- gcc/testsuite/gcc.target/i386/memset-strategy-29.c | 2 +- gcc/testsuite/gcc.target/i386/memset-strategy-30.c | 2 +- gcc/testsuite/gcc.target/i386/pr92080-17.c | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gcc/testsuite/g++.target/i386/memset-pr101366-1.C b/gcc/testsuite/g++.target/i386/memset-pr101366-1.C index 96d529b7c819..5b1c7b5430f0 100644 --- a/gcc/testsuite/g++.target/i386/memset-pr101366-1.C +++ b/gcc/testsuite/g++.target/i386/memset-pr101366-1.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -march=x86-64-v2 -std=gnu++17" } */ +/* { dg-options "-O3 -march=x86-64-v2 -std=gnu++17 -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/g++.target/i386/memset-pr101366-2.C b/gcc/testsuite/g++.target/i386/memset-pr101366-2.C index b966d1f841dd..0e06eec207c9 100644 --- a/gcc/testsuite/g++.target/i386/memset-pr101366-2.C +++ b/gcc/testsuite/g++.target/i386/memset-pr101366-2.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -march=x86-64-v2 -std=gnu++17" } */ +/* { dg-options "-O3 -march=x86-64-v2 -std=gnu++17 -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/g++.target/i386/memset-pr108585-1a.C b/gcc/testsuite/g++.target/i386/memset-pr108585-1a.C index 464f61c70503..440771a9ddf3 100644 --- a/gcc/testsuite/g++.target/i386/memset-pr108585-1a.C +++ b/gcc/testsuite/g++.target/i386/memset-pr108585-1a.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -march=x86-64 -std=c++20 -DUSE_CHAR" } */ +/* { dg-options "-O3 -march=x86-64 -std=c++20 -fasynchronous-unwind-tables -fdwarf2-cfi-asm -mno-stackrealign -fomit-frame-pointer -DUSE_CHAR" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/g++.target/i386/memset-pr108585-1b.C b/gcc/testsuite/g++.target/i386/memset-pr108585-1b.C index c14a110fa713..cabd3c2fd178 100644 --- a/gcc/testsuite/g++.target/i386/memset-pr108585-1b.C +++ b/gcc/testsuite/g++.target/i386/memset-pr108585-1b.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -march=x86-64 -std=c++20" } */ +/* { dg-options "-O3 -march=x86-64 -std=c++20 -fasynchronous-unwind-tables -fdwarf2-cfi-asm -mno-stackrealign -fomit-frame-pointer" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/g++.target/i386/memset-pr118276-1a.C b/gcc/testsuite/g++.target/i386/memset-pr118276-1a.C index 1df6646957e6..9fa40e7aeed9 100644 --- a/gcc/testsuite/g++.target/i386/memset-pr118276-1a.C +++ b/gcc/testsuite/g++.target/i386/memset-pr118276-1a.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -march=x86-64 -std=c++17 -DMODE=0" } */ +/* { dg-options "-O3 -march=x86-64 -std=c++17 -fasynchronous-unwind-tables -fdwarf2-cfi-asm -DMODE=0" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/g++.target/i386/memset-pr118276-1b.C b/gcc/testsuite/g++.target/i386/memset-pr118276-1b.C index 9fd77df15fe3..3d0b65701f33 100644 --- a/gcc/testsuite/g++.target/i386/memset-pr118276-1b.C +++ b/gcc/testsuite/g++.target/i386/memset-pr118276-1b.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -march=x86-64 -std=c++17 -DMODE=1" } */ +/* { dg-options "-O3 -march=x86-64 -std=c++17 -fasynchronous-unwind-tables -fdwarf2-cfi-asm -DMODE=1" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/g++.target/i386/memset-pr118276-1c.C b/gcc/testsuite/g++.target/i386/memset-pr118276-1c.C index 624c785f49b6..3c955d8f1f4b 100644 --- a/gcc/testsuite/g++.target/i386/memset-pr118276-1c.C +++ b/gcc/testsuite/g++.target/i386/memset-pr118276-1c.C @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O3 -march=x86-64 -std=c++17 -DMODE=2" } */ +/* { dg-options "-O3 -march=x86-64 -std=c++17 -fasynchronous-unwind-tables -fdwarf2-cfi-asm -DMODE=2" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/gcc.target/i386/memset-pr70308-1a.c b/gcc/testsuite/gcc.target/i386/memset-pr70308-1a.c index e3494413b2d4..5cc4eee11920 100644 --- a/gcc/testsuite/gcc.target/i386/memset-pr70308-1a.c +++ b/gcc/testsuite/gcc.target/i386/memset-pr70308-1a.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -march=x86-64" } */ +/* { dg-options "-O2 -march=x86-64 -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/gcc.target/i386/memset-pr70308-1b.c b/gcc/testsuite/gcc.target/i386/memset-pr70308-1b.c index 52f7b8ce242f..15996ea4e2cd 100644 --- a/gcc/testsuite/gcc.target/i386/memset-pr70308-1b.c +++ b/gcc/testsuite/gcc.target/i386/memset-pr70308-1b.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -march=x86-64 -DUSE_SCANF" } */ +/* { dg-options "-O2 -march=x86-64 -fasynchronous-unwind-tables -fdwarf2-cfi-asm -fomit-frame-pointer -DUSE_SCANF" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/gcc.target/i386/memset-strategy-25.c b/gcc/testsuite/gcc.target/i386/memset-strategy-25.c index 040439d1671c..1cc3de7f6ffe 100644 --- a/gcc/testsuite/gcc.target/i386/memset-strategy-25.c +++ b/gcc/testsuite/gcc.target/i386/memset-strategy-25.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mtune=generic -mno-sse" } */ +/* { dg-options "-O2 -mtune=generic -mno-sse -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/gcc.target/i386/memset-strategy-28.c b/gcc/testsuite/gcc.target/i386/memset-strategy-28.c index 1d173edf9306..eef113fa366b 100644 --- a/gcc/testsuite/gcc.target/i386/memset-strategy-28.c +++ b/gcc/testsuite/gcc.target/i386/memset-strategy-28.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mtune=generic -mno-sse" } */ +/* { dg-options "-O2 -mtune=generic -mno-sse -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/gcc.target/i386/memset-strategy-29.c b/gcc/testsuite/gcc.target/i386/memset-strategy-29.c index 50470eaba6d6..61aef929ad04 100644 --- a/gcc/testsuite/gcc.target/i386/memset-strategy-29.c +++ b/gcc/testsuite/gcc.target/i386/memset-strategy-29.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mtune=generic -mno-sse" } */ +/* { dg-options "-O2 -mtune=generic -mno-sse -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/gcc.target/i386/memset-strategy-30.c b/gcc/testsuite/gcc.target/i386/memset-strategy-30.c index ef32a9ce4cdc..917f1519302b 100644 --- a/gcc/testsuite/gcc.target/i386/memset-strategy-30.c +++ b/gcc/testsuite/gcc.target/i386/memset-strategy-30.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -mtune=generic -mno-sse" } */ +/* { dg-options "-O2 -mtune=generic -mno-sse -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target lp64 } {^\t?\.} } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr92080-17.c b/gcc/testsuite/gcc.target/i386/pr92080-17.c index f3d6b6917546..c1d5f426c4de 100644 --- a/gcc/testsuite/gcc.target/i386/pr92080-17.c +++ b/gcc/testsuite/gcc.target/i386/pr92080-17.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -march=x86-64-v3" } */ +/* { dg-options "-O2 -march=x86-64-v3 -fasynchronous-unwind-tables -fdwarf2-cfi-asm" } */ /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc'). */ /* { dg-final { check-function-bodies "**" "" "" { target { ! ia32 } } {^\t?\.} } } */