> -----Original Message----- > From: Richard Sandiford <richard.sandif...@arm.com> > Sent: 19 April 2021 20:34 > To: gcc-patches@gcc.gnu.org > Cc: Richard Earnshaw <richard.earns...@arm.com>; Kyrylo Tkachov > <kyrylo.tkac...@arm.com> > Subject: [PATCH] Adjust guality xfails for aarch64*-*-* > > This patch gives clean guality.exp test results for aarch64-linux-gnu > with modern (top-of-tree) gdb. > > For people using older gdbs, it will trade one set of noisy results for > another set. I still think it's better to have the xfails based on > one “clean” and “modern” run rather than have FAILs and XPASSes for > all runs. > > It's hard to tell which of these results are aarch64-specific and > which aren't. If other target maintainers want to do something similar, > and are prepared to assume the same gdb version, then it should become > clearer over time which ones are target-specific and which aren't. > > There are no new skips here, so changes in test results will still > show up as XPASSes. > > I've not analysed the failures or filed PRs for them. In some > ways the guality directory itself seems like the best place to > start looking for xfails, if someone's interested in working > in this area. > > Tested on aarch64-linux-gnu. I'd like to install this once the > earlier no-opts/any-opts patch is in, but please let me know > if you think it's a bad idea.
It's okay with me. Thanks, Kyrill > > Richard > > > gcc/testsuite/ > * gcc.dg/guality/example.c: Update aarch64*-*-* xfails. > * gcc.dg/guality/guality.c: Likewise. > * gcc.dg/guality/inline-params.c: Likewise. > * gcc.dg/guality/loop-1.c: Likewise. > * gcc.dg/guality/pr36728-1.c: Likewise. > * gcc.dg/guality/pr36728-2.c: Likewise. > * gcc.dg/guality/pr36728-3.c: Likewise. > * gcc.dg/guality/pr41447-1.c: Likewise. > * gcc.dg/guality/pr54200.c: Likewise. > * gcc.dg/guality/pr54519-1.c: Likewise. > * gcc.dg/guality/pr54519-2.c: Likewise. > * gcc.dg/guality/pr54519-3.c: Likewise. > * gcc.dg/guality/pr54519-4.c: Likewise. > * gcc.dg/guality/pr54519-5.c: Likewise. > * gcc.dg/guality/pr54519-6.c: Likewise. > * gcc.dg/guality/pr54693-2.c: Likewise. > * gcc.dg/guality/pr56154-1.c: Likewise. > * gcc.dg/guality/pr59776.c: Likewise. > * gcc.dg/guality/pr68860-1.c: Likewise. > * gcc.dg/guality/pr68860-2.c: Likewise. > * gcc.dg/guality/pr90074.c: Likewise. > * gcc.dg/guality/pr90716.c: Likewise. > * gcc.dg/guality/sra-1.c: Likewise. > --- > gcc/testsuite/gcc.dg/guality/example.c | 3 +- > gcc/testsuite/gcc.dg/guality/guality.c | 2 +- > gcc/testsuite/gcc.dg/guality/inline-params.c | 2 +- > gcc/testsuite/gcc.dg/guality/loop-1.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr36728-1.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr36728-2.c | 30 ++++++++++---------- > gcc/testsuite/gcc.dg/guality/pr36728-3.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr41447-1.c | 1 + > gcc/testsuite/gcc.dg/guality/pr54200.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr54519-1.c | 8 +++--- > gcc/testsuite/gcc.dg/guality/pr54519-2.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr54519-3.c | 8 +++--- > gcc/testsuite/gcc.dg/guality/pr54519-4.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr54519-5.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr54519-6.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr54693-2.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr56154-1.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr59776.c | 12 ++++---- > gcc/testsuite/gcc.dg/guality/pr68860-1.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr68860-2.c | 2 +- > gcc/testsuite/gcc.dg/guality/pr90074.c | 4 +-- > gcc/testsuite/gcc.dg/guality/pr90716.c | 2 +- > gcc/testsuite/gcc.dg/guality/sra-1.c | 8 +++--- > 23 files changed, 53 insertions(+), 51 deletions(-) > > diff --git a/gcc/testsuite/gcc.dg/guality/example.c > b/gcc/testsuite/gcc.dg/guality/example.c > index 26d25c28590..6f1c017a253 100644 > --- a/gcc/testsuite/gcc.dg/guality/example.c > +++ b/gcc/testsuite/gcc.dg/guality/example.c > @@ -1,5 +1,6 @@ > -/* { dg-do run { xfail *-*-* } } */ > +/* { dg-do run { xfail { ! aarch64*-*-* } } } */ > /* { dg-options "-g" } */ > +/* { dg-xfail-run-if "" aarch64*-*-* "*" { "-O[01g]" } } */ > > #define GUALITY_DONT_FORCE_LIVE_AFTER -1 > > diff --git a/gcc/testsuite/gcc.dg/guality/guality.c > b/gcc/testsuite/gcc.dg/guality/guality.c > index db015e6a558..a4de5646fc7 100644 > --- a/gcc/testsuite/gcc.dg/guality/guality.c > +++ b/gcc/testsuite/gcc.dg/guality/guality.c > @@ -1,4 +1,4 @@ > -/* { dg-do run { xfail *-*-* } } */ > +/* { dg-do run { xfail { ! aarch64*-*-* } } } */ > /* { dg-options "-g" } */ > /* { dg-require-effective-target alloca } */ > > diff --git a/gcc/testsuite/gcc.dg/guality/inline-params.c > b/gcc/testsuite/gcc.dg/guality/inline-params.c > index f4c5f15094c..6be240a28d2 100644 > --- a/gcc/testsuite/gcc.dg/guality/inline-params.c > +++ b/gcc/testsuite/gcc.dg/guality/inline-params.c > @@ -3,7 +3,7 @@ > inlining inlines the functions too early to test the real IPA passes (such > as IPA-CP). */ > /* { dg-options "-g -fno-early-inlining -fno-ipa-sra" } */ > -/* { dg-xfail-run-if "" { "*-*-*" } { "-O2" "-O3" "-Os" } } */ > +/* { dg-xfail-run-if "" { ! aarch64*-*-* } { "-O2" "-O3" "-Os" } } */ > > #define GUALITY_DONT_FORCE_LIVE_AFTER -1 > > diff --git a/gcc/testsuite/gcc.dg/guality/loop-1.c > b/gcc/testsuite/gcc.dg/guality/loop-1.c > index 8da447d5379..1b1f6d32271 100644 > --- a/gcc/testsuite/gcc.dg/guality/loop-1.c > +++ b/gcc/testsuite/gcc.dg/guality/loop-1.c > @@ -17,6 +17,6 @@ foo (int n) > /* The following works only with final value replacement or with the NOP > but not without (which means -Og). Vectorization breaks it, so disable > that. At -O3 it currently fails, PR89983. */ > - __asm__ volatile (NOP : : "g" (i) : "memory"); /* { dg-final { gdb-test . > "i" > "1" } } */ > + __asm__ volatile (NOP : : "g" (i) : "memory"); /* { dg-final { gdb-test . > "i" > "1" { xfail { aarch64*-*-* && { any-opts "-ftracer" } } } } } */ > } > int main() { foo(1); } > diff --git a/gcc/testsuite/gcc.dg/guality/pr36728-1.c > b/gcc/testsuite/gcc.dg/guality/pr36728-1.c > index 0ab475ab047..5864c2a733a 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr36728-1.c > +++ b/gcc/testsuite/gcc.dg/guality/pr36728-1.c > @@ -32,7 +32,7 @@ foo (int arg1, int arg2, int arg3, int arg4, int arg5, int > arg6, int arg7) > /* { dg-final { gdb-test 16 "arg5" "5" } } */ > /* { dg-final { gdb-test 16 "arg6" "6" } } */ > /* { dg-final { gdb-test 16 "arg7" "30" } } */ > -/* { dg-final { gdb-test 16 "y" "2" } } */ > +/* { dg-final { gdb-test 16 "y" "2" { xfail { aarch64*-*-* && { any-opts > "-fno- > fat-lto-objects" } } } } } */ > /* { dg-final { gdb-test 18 "arg1" "1" { target { ! "s390*-*-*" } } } } */ > /* { dg-final { gdb-test 18 "arg2" "2" { target { ! "s390*-*-*" } } } } */ > /* { dg-final { gdb-test 18 "arg3" "3" } } */ > diff --git a/gcc/testsuite/gcc.dg/guality/pr36728-2.c > b/gcc/testsuite/gcc.dg/guality/pr36728-2.c > index 7ba8663e26e..6e8d775f9ac 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr36728-2.c > +++ b/gcc/testsuite/gcc.dg/guality/pr36728-2.c > @@ -25,21 +25,21 @@ foo (int arg1, int arg2, int arg3, int arg4, int arg5, int > arg6, int arg7) > and arg2. So it is expected that these values are unavailable in > some of these tests. */ > > -/* { dg-final { gdb-test 16 "arg1" "1" { target { ! "s390*-*-*" } } } } */ > -/* { dg-final { gdb-test 16 "arg2" "2" { target { ! "s390*-*-*" } } } } */ > -/* { dg-final { gdb-test 16 "arg3" "3" } } */ > -/* { dg-final { gdb-test 16 "arg4" "4" } } */ > -/* { dg-final { gdb-test 16 "arg5" "5" } } */ > -/* { dg-final { gdb-test 16 "arg6" "6" } } */ > -/* { dg-final { gdb-test 16 "arg7" "30" } } */ > -/* { dg-final { gdb-test 16 "y" "2" } } */ > -/* { dg-final { gdb-test 18 "arg1" "1" { target { ! "s390*-*-*" } } } } */ > -/* { dg-final { gdb-test 18 "arg2" "2" { target { ! "s390*-*-*" } } } } */ > -/* { dg-final { gdb-test 18 "arg3" "3" } } */ > -/* { dg-final { gdb-test 18 "arg4" "4" } } */ > -/* { dg-final { gdb-test 18 "arg5" "5" } } */ > -/* { dg-final { gdb-test 18 "arg6" "6" } } */ > -/* { dg-final { gdb-test 18 "arg7" "30" } } */ > +/* { dg-final { gdb-test 16 "arg1" "1" { target { ! "s390*-*-*" } xfail > { aarch64*-*-* && { any-opts "-fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 16 "arg2" "2" { target { ! "s390*-*-*" } xfail > { aarch64*-*-* && { any-opts "-fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 16 "arg3" "3" { xfail { aarch64*-*-* && { any-opts > "- > fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 16 "arg4" "4" { xfail { aarch64*-*-* && { any-opts > "- > fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 16 "arg5" "5" { xfail { aarch64*-*-* && { any-opts > "- > fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 16 "arg6" "6" { xfail { aarch64*-*-* && { any-opts > "- > fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 16 "arg7" "30" { xfail { aarch64*-*-* && { any-opts > "- > fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 16 "y" "2" { xfail { aarch64*-*-* && { any-opts > "-fno- > fat-lto-objects" } } } } } */ > +/* { dg-final { gdb-test 18 "arg1" "1" { target { ! "s390*-*-*" } xfail > { aarch64*-*-* && { any-opts "-fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 18 "arg2" "2" { target { ! "s390*-*-*" } xfail > { aarch64*-*-* && { any-opts "-fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 18 "arg3" "3" { xfail { aarch64*-*-* && { any-opts > "- > fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 18 "arg4" "4" { xfail { aarch64*-*-* && { any-opts > "- > fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 18 "arg5" "5" { xfail { aarch64*-*-* && { any-opts > "- > fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 18 "arg6" "6" { xfail { aarch64*-*-* && { any-opts > "- > fno-fat-lto-objects" "-O3" } } } } } */ > +/* { dg-final { gdb-test 18 "arg7" "30" { xfail { aarch64*-*-* && { any-opts > "- > fno-fat-lto-objects" "-O3" } } } } } */ > /* { dg-final { gdb-test 18 "*x" "(char) 25" } } */ > /* { dg-final { gdb-test 18 "y" "2" } } */ > > diff --git a/gcc/testsuite/gcc.dg/guality/pr36728-3.c > b/gcc/testsuite/gcc.dg/guality/pr36728-3.c > index 4700d50f8bc..589009b2e82 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr36728-3.c > +++ b/gcc/testsuite/gcc.dg/guality/pr36728-3.c > @@ -30,7 +30,7 @@ foo (int arg1, int arg2, int arg3, int arg4, int arg5, int > arg6, int arg7) > /* { dg-final { gdb-test 14 "arg5" "5" } } */ > /* { dg-final { gdb-test 14 "arg6" "6" } } */ > /* { dg-final { gdb-test 14 "arg7" "30" } } */ > -/* { dg-final { gdb-test 14 "y" "2" } } */ > +/* { dg-final { gdb-test 14 "y" "2" { xfail { aarch64*-*-* && { any-opts "- > O3" } } } } } */ > /* { dg-final { gdb-test 16 "arg1" "1" { target { ! "s390*-*-*" } } } } */ > /* { dg-final { gdb-test 16 "arg2" "2" { target { ! "s390*-*-*" } } } } */ > /* { dg-final { gdb-test 16 "arg3" "3" } } */ > diff --git a/gcc/testsuite/gcc.dg/guality/pr41447-1.c > b/gcc/testsuite/gcc.dg/guality/pr41447-1.c > index 308ef94967d..9fde33e59a6 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr41447-1.c > +++ b/gcc/testsuite/gcc.dg/guality/pr41447-1.c > @@ -1,5 +1,6 @@ > /* { dg-do run } */ > /* { dg-options "-g" } */ > +/* { dg-xfail-run-if "" { aarch64*-*-* } { "-O2" "-O3" "-Os" } { > "-fno-fat-lto- > objects" } } */ > > #include "guality.h" > > diff --git a/gcc/testsuite/gcc.dg/guality/pr54200.c > b/gcc/testsuite/gcc.dg/guality/pr54200.c > index e873d1b7b91..ba142217f5a 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr54200.c > +++ b/gcc/testsuite/gcc.dg/guality/pr54200.c > @@ -17,7 +17,7 @@ foo (int z, int x, int b) > else > { > int a = (x + z) + b; > - return a; /* { dg-final { gdb-test . "z" "3" } } */ > + return a; /* { dg-final { gdb-test . "z" "3" { xfail { aarch64*-*-* && > { no- > opts "-O0" "-Og" } } } } } */ > } > } > > diff --git a/gcc/testsuite/gcc.dg/guality/pr54519-1.c > b/gcc/testsuite/gcc.dg/guality/pr54519-1.c > index a4105abf99b..81703eb1744 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr54519-1.c > +++ b/gcc/testsuite/gcc.dg/guality/pr54519-1.c > @@ -16,11 +16,11 @@ fn2 (int x, int y, int z) > { > fn1 (x); > fn1 (x); /* { dg-final { gdb-test .+2 "x" "36" } } */ > - if (x == 36) /* { dg-final { gdb-test .+1 "y" "25" } } */ > - fn1 (x); /* { dg-final { gdb-test . "z" "6" } } */ > + if (x == 36) /* { dg-final { gdb-test .+1 "y" "25" { xfail { > aarch64*-*-* && > { any-opts "-flto" } } } } } */ > + fn1 (x); /* { dg-final { gdb-test . "z" "6" { xfail { > aarch64*-*-* && > { any-opts "-flto" } } } } } */ > fn1 (x); /* { dg-final { gdb-test .+2 "x" "98" } } */ > - if (x == 98) /* { dg-final { gdb-test .+1 "y" "117" } } */ > - fn1 (x); /* { dg-final { gdb-test . "z" "8" } } */ > + if (x == 98) /* { dg-final { gdb-test .+1 "y" "117" { xfail { > aarch64*-*-* && > { any-opts "-flto" } } } } } */ > + fn1 (x); /* { dg-final { gdb-test . "z" "8" { xfail { > aarch64*-*-* && > { any-opts "-flto" } } } } } */ > fn1 (x); > fn1 (x + a); > } > diff --git a/gcc/testsuite/gcc.dg/guality/pr54519-2.c > b/gcc/testsuite/gcc.dg/guality/pr54519-2.c > index 6bc16830e20..e1368bf63cc 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr54519-2.c > +++ b/gcc/testsuite/gcc.dg/guality/pr54519-2.c > @@ -14,7 +14,7 @@ fn2 (int x, int y) > if (y) > { > fn1 (x); /* { dg-final { gdb-test .+1 "x" "6" } } */ > - fn1 (x); /* { dg-final { gdb-test . "y" "25" } } */ > + fn1 (x); /* { dg-final { gdb-test . "y" "25" { xfail { > aarch64*-*-* > && { any-opts "-flto" } } } } } */ > fn1 (x); > fn1 (x); > y = -2 + x; > diff --git a/gcc/testsuite/gcc.dg/guality/pr54519-3.c > b/gcc/testsuite/gcc.dg/guality/pr54519-3.c > index da18247b47b..fabab963d72 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr54519-3.c > +++ b/gcc/testsuite/gcc.dg/guality/pr54519-3.c > @@ -16,11 +16,11 @@ fn2 (int x, int y, int z) > { > fn1 (x); > fn1 (x); /* { dg-final { gdb-test .+2 "x" "36" } } */ > - if (x == 36) /* { dg-final { gdb-test .+1 "y" "25" } } */ > - fn1 (x); /* { dg-final { gdb-test . "z" "6" } } */ > + if (x == 36) /* { dg-final { gdb-test .+1 "y" "25" { xfail { > aarch64*-*-* && > { any-opts "-flto" } } } } } */ > + fn1 (x); /* { dg-final { gdb-test . "z" "6" { xfail { > aarch64*-*-* && > { any-opts "-flto" } } } } } */ > fn1 (x); /* { dg-final { gdb-test .+2 "x" "98" } } */ > - if (x == 98) /* { dg-final { gdb-test .+1 "y" "117" } } */ > - fn1 (x); /* { dg-final { gdb-test . "z" "8" } } */ > + if (x == 98) /* { dg-final { gdb-test .+1 "y" "117" { xfail { > aarch64*-*-* && > { any-opts "-flto" } } } } } */ > + fn1 (x); /* { dg-final { gdb-test . "z" "8" { xfail { > aarch64*-*-* && > { any-opts "-flto" } } } } } */ > fn1 (x); > fn1 (x + a); > } > diff --git a/gcc/testsuite/gcc.dg/guality/pr54519-4.c > b/gcc/testsuite/gcc.dg/guality/pr54519-4.c > index c82de580bf9..fd8465fb72a 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr54519-4.c > +++ b/gcc/testsuite/gcc.dg/guality/pr54519-4.c > @@ -14,7 +14,7 @@ fn2 (int x, int y) > if (y) > { > fn1 (x); /* { dg-final { gdb-test .+1 "x" "6" } } */ > - fn1 (x); /* { dg-final { gdb-test . "y" "25" } } */ > + fn1 (x); /* { dg-final { gdb-test . "y" "25" { xfail { > aarch64*-*-* > && { any-opts "-flto" } } } } } */ > fn1 (x); > fn1 (x); > y = -2 + x; > diff --git a/gcc/testsuite/gcc.dg/guality/pr54519-5.c > b/gcc/testsuite/gcc.dg/guality/pr54519-5.c > index 0903fbf8946..76fa1e3ad02 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr54519-5.c > +++ b/gcc/testsuite/gcc.dg/guality/pr54519-5.c > @@ -14,7 +14,7 @@ fn2 (int x, int y) > if (y) > { > fn1 (x); /* { dg-final { gdb-test .+1 "x" "6" } } */ > - fn1 (x); /* { dg-final { gdb-test . "y" "25" } } */ > + fn1 (x); /* { dg-final { gdb-test . "y" "25" { xfail { > aarch64*-*-* > && { any-opts "-flto" } } } } } */ > fn1 (x); > fn1 (x); > y = -2 + x; > diff --git a/gcc/testsuite/gcc.dg/guality/pr54519-6.c > b/gcc/testsuite/gcc.dg/guality/pr54519-6.c > index bb3fb5f995e..732c268e45e 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr54519-6.c > +++ b/gcc/testsuite/gcc.dg/guality/pr54519-6.c > @@ -7,7 +7,7 @@ > static inline void > f1 (int x, int y) > { > - asm volatile (NOP); /* { dg-final { gdb-test .+1 "x" "2" } } */ > + asm volatile (NOP); /* { dg-final { gdb-test .+1 "x" "2" { xfail { > aarch64*-*- > * && { any-opts "-Os" } } } } } */ > asm volatile (NOP); /* { dg-final { gdb-test . "y" "0" } } */ > } > > diff --git a/gcc/testsuite/gcc.dg/guality/pr54693-2.c > b/gcc/testsuite/gcc.dg/guality/pr54693-2.c > index 1741a383f59..68aa6c63d71 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr54693-2.c > +++ b/gcc/testsuite/gcc.dg/guality/pr54693-2.c > @@ -19,7 +19,7 @@ foo (int x, int y, int z) > { /* { dg-final { gdb-test .+2 "i" "v + 1" } } */ > /* { dg-final { gdb-test .+1 "x" "10 - i" } } */ > bar (i); /* { dg-final { gdb-test . "y" "20 - 2 * i" } } */ > - /* { dg-final { gdb-test .-1 "z" "30 - 3 * i" } } */ > + /* { dg-final { gdb-test .-1 "z" "30 - 3 * i" { xfail { > aarch64*-*-* > && { any-opts "-fno-fat-lto-objects" "-Os" } } } } } */ > i++, x--, y -= 2, z -= 3; > } > } > diff --git a/gcc/testsuite/gcc.dg/guality/pr56154-1.c > b/gcc/testsuite/gcc.dg/guality/pr56154-1.c > index 4f02bc96e21..d6da4a74b26 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr56154-1.c > +++ b/gcc/testsuite/gcc.dg/guality/pr56154-1.c > @@ -17,7 +17,7 @@ foo (int fd, union U x) > asm (NOP : : : "memory"); /* { dg-final { gdb-test pr56154-1.c:17 "x.a" > "4" } } */ > z = x.a; > x.a = 6; > - asm (NOP : : : "memory"); /* { dg-final { gdb-test pr56154-1.c:20 "x.a" > "6" } } */ > + asm (NOP : : : "memory"); /* { dg-final { gdb-test pr56154-1.c:20 "x.a" > "6" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */ > return result; > } > > diff --git a/gcc/testsuite/gcc.dg/guality/pr59776.c > b/gcc/testsuite/gcc.dg/guality/pr59776.c > index 9777f6229de..0e4855959ef 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr59776.c > +++ b/gcc/testsuite/gcc.dg/guality/pr59776.c > @@ -9,13 +9,13 @@ struct S { float f, g; }; > __attribute__((noipa)) void > foo (struct S *p) > { > - struct S s1, s2; /* { dg-final { gdb-test pr59776.c:17 > "s1.f" "5.0" } } */ > - s1 = *p; /* { dg-final { gdb-test pr59776.c:17 > "s1.g" "6.0" } } */ > - s2 = s1; /* { dg-final { gdb-test pr59776.c:17 > "s2.f" "0.0" } } */ > + struct S s1, s2; /* { dg-final { gdb-test pr59776.c:17 > "s1.f" "5.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */ > + s1 = *p; /* { dg-final { gdb-test pr59776.c:17 > "s1.g" "6.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */ > + s2 = s1; /* { dg-final { gdb-test pr59776.c:17 > "s2.f" "0.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */ > *(int *) &s2.f = 0; /* { dg-final { gdb-test > pr59776.c:17 > "s2.g" "6.0" { xfail { no-opts "-O0" } } } } */ > - asm volatile (NOP : : : "memory"); /* { dg-final { gdb-test pr59776.c:20 > "s1.f" "5.0" } } */ > - asm volatile (NOP : : : "memory"); /* { dg-final { gdb-test pr59776.c:20 > "s1.g" "6.0" } } */ > - s2 = s1; /* { dg-final { gdb-test pr59776.c:20 > "s2.f" "5.0" } } */ > + asm volatile (NOP : : : "memory"); /* { dg-final { gdb-test pr59776.c:20 > "s1.f" "5.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */ > + asm volatile (NOP : : : "memory"); /* { dg-final { gdb-test pr59776.c:20 > "s1.g" "6.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */ > + s2 = s1; /* { dg-final { gdb-test pr59776.c:20 > "s2.f" "5.0" { xfail { aarch64*-*-* && { any-opts "-Og" } } } } } */ > asm volatile (NOP : : : "memory"); /* { dg-final { gdb-test pr59776.c:20 > "s2.g" "6.0" { xfail { no-opts "-O0" } } } } */ > asm volatile (NOP : : : "memory"); > } > diff --git a/gcc/testsuite/gcc.dg/guality/pr68860-1.c > b/gcc/testsuite/gcc.dg/guality/pr68860-1.c > index 8c8d8354587..bbd9d6e6032 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr68860-1.c > +++ b/gcc/testsuite/gcc.dg/guality/pr68860-1.c > @@ -31,7 +31,7 @@ foo (int arg1, int arg2, int arg3, int arg4, int arg5, int > arg6, int arg7, int a > /* { dg-final { gdb-test 14 "arg6" "6" } } */ > /* { dg-final { gdb-test 14 "arg7" "30" } } */ > /* { dg-final { gdb-test 14 "arg8" "7" } } */ > -/* { dg-final { gdb-test 14 "y" "2" } } */ > +/* { dg-final { gdb-test 14 "y" "2" { xfail { aarch64*-*-* && { { any-opts > "-O2" > "-O3" } && { no-opts "-flto" } } } } } } */ > /* { dg-final { gdb-test 16 "arg1" "1" { target { ! "s390*-*-*" } } } } */ > /* { dg-final { gdb-test 16 "arg2" "2" { target { ! "s390*-*-*" } } } } */ > /* { dg-final { gdb-test 16 "arg3" "3" } } */ > diff --git a/gcc/testsuite/gcc.dg/guality/pr68860-2.c > b/gcc/testsuite/gcc.dg/guality/pr68860-2.c > index 070efbcd10c..a18a04e60b2 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr68860-2.c > +++ b/gcc/testsuite/gcc.dg/guality/pr68860-2.c > @@ -31,7 +31,7 @@ foo (int arg1, int arg2, int arg3, int arg4, int arg5, int > arg6, int arg7, int a > /* { dg-final { gdb-test 14 "arg6" "6" } } */ > /* { dg-final { gdb-test 14 "arg7" "30" } } */ > /* { dg-final { gdb-test 14 "arg8" "7" } } */ > -/* { dg-final { gdb-test 14 "y" "2" } } */ > +/* { dg-final { gdb-test 14 "y" "2" { xfail { aarch64*-*-* && { any-opts "- > O3" } } } } } */ > /* { dg-final { gdb-test 16 "arg1" "1" { target { ! "s390*-*-*" } } } } */ > /* { dg-final { gdb-test 16 "arg2" "2" { target { ! "s390*-*-*" } } } } */ > /* { dg-final { gdb-test 16 "arg3" "3" } } */ > diff --git a/gcc/testsuite/gcc.dg/guality/pr90074.c > b/gcc/testsuite/gcc.dg/guality/pr90074.c > index 12949282516..2fd884209f2 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr90074.c > +++ b/gcc/testsuite/gcc.dg/guality/pr90074.c > @@ -25,7 +25,7 @@ int main() > debug stmt for the final value of the loop during loop distribution > which would fix the UNSUPPORTED cases. > c is optimized out at -Og for no obvious reason. */ > - optimize_me_not(); /* { dg-final { gdb-test . "i + 1" "8" } } */ > - /* { dg-final { gdb-test .-1 "c + 1" "2" } } */ > + optimize_me_not(); /* { dg-final { gdb-test . "i + 1" "8" { xfail { > aarch64*-*- > * && { any-opts "-fno-fat-lto-objects" } } } } } */ > + /* { dg-final { gdb-test .-1 "c + 1" "2" { xfail { aarch64*-*-* && { > any-opts > "-fno-fat-lto-objects" } } } } } */ > return 0; > } > diff --git a/gcc/testsuite/gcc.dg/guality/pr90716.c > b/gcc/testsuite/gcc.dg/guality/pr90716.c > index b2f5c9d146e..fe7e5567625 100644 > --- a/gcc/testsuite/gcc.dg/guality/pr90716.c > +++ b/gcc/testsuite/gcc.dg/guality/pr90716.c > @@ -20,6 +20,6 @@ int main() > Instead test j + 1 which will make the test UNSUPPORTED if i > is optimized out. Since the test previously had wrong debug > with j == 0 this is acceptable. */ > - optimize_me_not(); /* { dg-final { gdb-test . "j + 1" "9" } } */ > + optimize_me_not(); /* { dg-final { gdb-test . "j + 1" "9" { xfail { > aarch64*-*- > * && { any-opts "-fno-fat-lto-objects" } } } } } */ > return 0; > } > diff --git a/gcc/testsuite/gcc.dg/guality/sra-1.c > b/gcc/testsuite/gcc.dg/guality/sra-1.c > index 8ad57cf3f8e..e9b920ecd66 100644 > --- a/gcc/testsuite/gcc.dg/guality/sra-1.c > +++ b/gcc/testsuite/gcc.dg/guality/sra-1.c > @@ -18,7 +18,7 @@ f1 (int k) > asm ("" : "+r" (a.i)); > a.j++; > bar (a.i); /* { dg-final { gdb-test .+1 "a.i" "4" } } */ > - bar (a.j); /* { dg-final { gdb-test . "a.j" "14" } } */ > + bar (a.j); /* { dg-final { gdb-test . "a.j" "14" { xfail { > aarch64*- > *-* && { any-opts "-fno-fat-lto-objects" } } } } } */ > return a.i + a.j; > } > > @@ -29,7 +29,7 @@ f2 (int k) > asm ("" : "+r" (a[0])); > a[1]++; > bar (a[0]); /* { dg-final { gdb-test .+1 "a\[0\]" "4" } } */ > - bar (a[1]); /* { dg-final { gdb-test . "a\[1\]" "14" } } */ > + bar (a[1]); /* { dg-final { gdb-test . "a\[1\]" "14" { xfail > { aarch64*-*-* && { any-opts "-fno-fat-lto-objects" } } } } } */ > return a[0] + a[1]; > } > > @@ -39,8 +39,8 @@ f3 (int k) > struct B a = { 4, k + 6 }; > asm ("" : "+r" (a.i)); > a.j++; > - bar (a.i); /* { dg-final { gdb-test .+1 "a.i" "4" } } */ > - bar (a.j); /* { dg-final { gdb-test . "a.j" "14" } } */ > + bar (a.i); /* { dg-final { gdb-test .+1 "a.i" "4" { xfail { > aarch64*- > *-* && { any-opts "-Og" } } } } } */ > + bar (a.j); /* { dg-final { gdb-test . "a.j" "14" { xfail { > aarch64*- > *-* && { any-opts "-Og" "-fno-fat-lto-objects" } } } } } */ > return a.i + a.j; > } >