Re: [PATCH] testsuite, aarch64: Mark tests as needing ifunc support.
Alice Carlotti <[email protected]> Tue, 4 Aug 2026 20:19:33 +0100
| Newsgroups | gmane.comp.gcc.patches |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Aug 04, 2026 at 10:19:54AM +0100, Iain Sandoe wrote: > Tested on aarch64-linux, aarch64-darwin, OK for trunk? > thanks, > Iain OK, thanks Alice > > --- 8< --- > > Not all targets support ifuncs, so gate the tests on availability. > > gcc/testsuite/ChangeLog: > > * g++.target/aarch64/mv-symbols10.C: Require ifunc support. > * g++.target/aarch64/mv-symbols11.C: Likewise. > * g++.target/aarch64/mv-symbols12.C: Likewise. > * g++.target/aarch64/mv-symbols13.C: Likewise. > * g++.target/aarch64/mv-symbols6.C: Likewise. > * g++.target/aarch64/mv-symbols7.C: Likewise. > * g++.target/aarch64/mv-symbols9.C: Likewise. > * gcc.target/aarch64/mv-1.c: Likewise. > * gcc.target/aarch64/mv-error8.c: Likewise. > * gcc.target/aarch64/mv-symbols1.c: Likewise. > * gcc.target/aarch64/mv-symbols10.c: Likewise. > * gcc.target/aarch64/mv-symbols11.c: Likewise. > * gcc.target/aarch64/mv-symbols12.c: Likewise. > * gcc.target/aarch64/mv-symbols13.c: Likewise. > * gcc.target/aarch64/mv-symbols14.c: Likewise. > * gcc.target/aarch64/mv-symbols2.c: Likewise. > * gcc.target/aarch64/mv-symbols3.c: Likewise. > * gcc.target/aarch64/mv-symbols4.c: Likewise. > * gcc.target/aarch64/mv-symbols5.c: Likewise. > * gcc.target/aarch64/mv-symbols6.c: Likewise. > * gcc.target/aarch64/mv-symbols7.c: Likewise. > * gcc.target/aarch64/mv-symbols8.c: Likewise. > * gcc.target/aarch64/mv-symbols9.c: Likewise. > * gcc.target/aarch64/mvc-symbols1.c: Likewise. > * gcc.target/aarch64/mvc-symbols2.c: Likewise. > * gcc.target/aarch64/mvc-symbols3.c: Likewise. > * gcc.target/aarch64/mvc-symbols4.c: Likewise. > * gcc.target/aarch64/pr124167.c: Likewise. > > Signed-off-by: Iain Sandoe <[email protected]> > --- > gcc/testsuite/g++.target/aarch64/mv-symbols10.C | 1 + > gcc/testsuite/g++.target/aarch64/mv-symbols11.C | 1 + > gcc/testsuite/g++.target/aarch64/mv-symbols12.C | 1 + > gcc/testsuite/g++.target/aarch64/mv-symbols13.C | 1 + > gcc/testsuite/g++.target/aarch64/mv-symbols6.C | 1 + > gcc/testsuite/g++.target/aarch64/mv-symbols7.C | 1 + > gcc/testsuite/g++.target/aarch64/mv-symbols9.C | 1 + > gcc/testsuite/gcc.target/aarch64/mv-1.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-error8.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols1.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols10.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols11.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols12.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols13.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols14.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols2.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols3.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols4.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols5.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols6.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols7.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols8.c | 1 + > gcc/testsuite/gcc.target/aarch64/mv-symbols9.c | 1 + > gcc/testsuite/gcc.target/aarch64/mvc-symbols1.c | 1 + > gcc/testsuite/gcc.target/aarch64/mvc-symbols2.c | 1 + > gcc/testsuite/gcc.target/aarch64/mvc-symbols3.c | 1 + > gcc/testsuite/gcc.target/aarch64/mvc-symbols4.c | 1 + > gcc/testsuite/gcc.target/aarch64/pr124167.c | 1 + > 28 files changed, 28 insertions(+) > > diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols10.C b/gcc/testsuite/g++.target/aarch64/mv-symbols10.C > index b83e00be94d..d68082c9c97 100644 > --- a/gcc/testsuite/g++.target/aarch64/mv-symbols10.C > +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols10.C > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-require-ifunc "" } */ > /* { dg-options "-O0" } */ > > __attribute__ ((target_version ("default"))) void > diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols11.C b/gcc/testsuite/g++.target/aarch64/mv-symbols11.C > index 19ab82de705..dfe0d92e9ed 100644 > --- a/gcc/testsuite/g++.target/aarch64/mv-symbols11.C > +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols11.C > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-require-ifunc "" } */ > /* { dg-options "-O0" } */ > > __attribute__ ((target_version ("default"))) int > diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols12.C b/gcc/testsuite/g++.target/aarch64/mv-symbols12.C > index a5e54bbf041..121899f452e 100644 > --- a/gcc/testsuite/g++.target/aarch64/mv-symbols12.C > +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols12.C > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-require-ifunc "" } */ > /* { dg-options "-O0" } */ > > int foo () { > diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols13.C b/gcc/testsuite/g++.target/aarch64/mv-symbols13.C > index 01b8b6c768b..9de4d4005fe 100644 > --- a/gcc/testsuite/g++.target/aarch64/mv-symbols13.C > +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols13.C > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-require-ifunc "" } */ > /* { dg-options "-O0" } */ > > int foo () { > diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols6.C b/gcc/testsuite/g++.target/aarch64/mv-symbols6.C > index 7e54158f1c8..d33291b0f43 100644 > --- a/gcc/testsuite/g++.target/aarch64/mv-symbols6.C > +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols6.C > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-require-ifunc "" } */ > /* { dg-options "-O0" } */ > > __attribute__ ((target_version ("default"))) int > diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols7.C b/gcc/testsuite/g++.target/aarch64/mv-symbols7.C > index a312caf651e..e60cdbf731a 100644 > --- a/gcc/testsuite/g++.target/aarch64/mv-symbols7.C > +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols7.C > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-require-ifunc "" } */ > /* { dg-options "-O0" } */ > > __attribute__ ((target_version ("dotprod"))) int > diff --git a/gcc/testsuite/g++.target/aarch64/mv-symbols9.C b/gcc/testsuite/g++.target/aarch64/mv-symbols9.C > index e46d9db2649..19181b8e640 100644 > --- a/gcc/testsuite/g++.target/aarch64/mv-symbols9.C > +++ b/gcc/testsuite/g++.target/aarch64/mv-symbols9.C > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-require-ifunc "" } */ > /* { dg-options "-O0" } */ > > int > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-1.c b/gcc/testsuite/gcc.target/aarch64/mv-1.c > index 6f095ecd7a7..eab320465b2 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-1.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-1.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_version ("default"))) int > foo () > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-error8.c b/gcc/testsuite/gcc.target/aarch64/mv-error8.c > index 7599df189e4..a3a47a8988a 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-error8.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-error8.c > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-require-ifunc "" } */ > /* { dg-options "-O0" } */ > > __attribute__ ((target_version ("default"))) int > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols1.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols1.c > index 798227826e5..7549c58f3b6 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols1.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols1.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > // Basic case of fmv correctness with all functions and use in one TU. > > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols10.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols10.c > index d5256389d7b..0c41ccb33f7 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols10.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols10.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > int > foo (); > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols11.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols11.c > index fd3dc345a59..70fd995faca 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols11.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols11.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > // Check that types can be combined > > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols12.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols12.c > index 1a0b667eb5f..1a9c6a70653 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols12.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols12.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_version ("default"))) int > foo () { return 1; } > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols13.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols13.c > index 308dace64a7..7c520696c28 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols13.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols13.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_version ("default"))) int > foo (); > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols14.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols14.c > index d1af69fe31d..f7feaecbd8f 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols14.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols14.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > int foo (); > > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols2.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols2.c > index a8732caf214..14662dcfaa9 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols2.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols2.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > // FMV correctness with definitions but no call > > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols3.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols3.c > index 962bae93577..21e75d6f3d1 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols3.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols3.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > // FMV correctness with declarations but no implementation > > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols4.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols4.c > index a476800b2c5..bddb0e7bf3e 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols4.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols4.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > // FMV correctness with a default implementation and declarations of other > // versions > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols5.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols5.c > index 4df20009f79..d0b70bce744 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols5.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols5.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > // FMV correctness with default declaration, and implementations of other > // versions. > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols6.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols6.c > index cbf8bcaf8e1..128d479e7e6 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols6.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols6.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_version ("default"))) int > foo () > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols7.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols7.c > index 2ea4d2ebf0f..d2b3c257eea 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols7.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols7.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_version ("dotprod"))) int > foo (); > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols8.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols8.c > index 3e3eaf21aa9..32229749ea0 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols8.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols8.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_version ("dotprod"))) int > foo (); > diff --git a/gcc/testsuite/gcc.target/aarch64/mv-symbols9.c b/gcc/testsuite/gcc.target/aarch64/mv-symbols9.c > index 8e0864f1663..ac5dc5c3373 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mv-symbols9.c > +++ b/gcc/testsuite/gcc.target/aarch64/mv-symbols9.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_version ("dotprod"))) int > foo (); > diff --git a/gcc/testsuite/gcc.target/aarch64/mvc-symbols1.c b/gcc/testsuite/gcc.target/aarch64/mvc-symbols1.c > index 3ad15e5bb73..cd3150b7033 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mvc-symbols1.c > +++ b/gcc/testsuite/gcc.target/aarch64/mvc-symbols1.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_clones ("default", "dotprod", "sve+sve2"))) int > foo () > diff --git a/gcc/testsuite/gcc.target/aarch64/mvc-symbols2.c b/gcc/testsuite/gcc.target/aarch64/mvc-symbols2.c > index 78385ed904b..b7b7a42f978 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mvc-symbols2.c > +++ b/gcc/testsuite/gcc.target/aarch64/mvc-symbols2.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_clones ("default", "dotprod", "sve+sve2"))) int > foo () > diff --git a/gcc/testsuite/gcc.target/aarch64/mvc-symbols3.c b/gcc/testsuite/gcc.target/aarch64/mvc-symbols3.c > index 1cbe3fd0850..4c9f7443adc 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mvc-symbols3.c > +++ b/gcc/testsuite/gcc.target/aarch64/mvc-symbols3.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_clones ("default", "dotprod", "sve+sve2"))) int > foo (); > diff --git a/gcc/testsuite/gcc.target/aarch64/mvc-symbols4.c b/gcc/testsuite/gcc.target/aarch64/mvc-symbols4.c > index abaf60f91c3..adb6c9fc8c6 100644 > --- a/gcc/testsuite/gcc.target/aarch64/mvc-symbols4.c > +++ b/gcc/testsuite/gcc.target/aarch64/mvc-symbols4.c > @@ -1,5 +1,6 @@ > /* { dg-do compile } */ > /* { dg-options "-O0" } */ > +/* { dg-require-ifunc "" } */ > > __attribute__ ((target_clones ("default", "dotprod", "sve+sve2"))) int > foo (); > diff --git a/gcc/testsuite/gcc.target/aarch64/pr124167.c b/gcc/testsuite/gcc.target/aarch64/pr124167.c > index 4ba94b0fe9a..c09018151bf 100644 > --- a/gcc/testsuite/gcc.target/aarch64/pr124167.c > +++ b/gcc/testsuite/gcc.target/aarch64/pr124167.c > @@ -1,4 +1,5 @@ > /* { dg-do compile } */ > +/* { dg-require-ifunc "" } */ > > /* Check there is no ICE. */ > > -- > 2.50.1 (Apple Git-155) >