Adjust guality xfails for aarch64*-*-*
authorRichard Sandiford <richard.sandiford@arm.com>
Sat, 24 Apr 2021 08:35:16 +0000 (09:35 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Sat, 24 Apr 2021 08:35:16 +0000 (09:35 +0100)
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.

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.

23 files changed:
gcc/testsuite/gcc.dg/guality/example.c
gcc/testsuite/gcc.dg/guality/guality.c
gcc/testsuite/gcc.dg/guality/inline-params.c
gcc/testsuite/gcc.dg/guality/loop-1.c
gcc/testsuite/gcc.dg/guality/pr36728-1.c
gcc/testsuite/gcc.dg/guality/pr36728-2.c
gcc/testsuite/gcc.dg/guality/pr36728-3.c
gcc/testsuite/gcc.dg/guality/pr41447-1.c
gcc/testsuite/gcc.dg/guality/pr54200.c
gcc/testsuite/gcc.dg/guality/pr54519-1.c
gcc/testsuite/gcc.dg/guality/pr54519-2.c
gcc/testsuite/gcc.dg/guality/pr54519-3.c
gcc/testsuite/gcc.dg/guality/pr54519-4.c
gcc/testsuite/gcc.dg/guality/pr54519-5.c
gcc/testsuite/gcc.dg/guality/pr54519-6.c
gcc/testsuite/gcc.dg/guality/pr54693-2.c
gcc/testsuite/gcc.dg/guality/pr56154-1.c
gcc/testsuite/gcc.dg/guality/pr59776.c
gcc/testsuite/gcc.dg/guality/pr68860-1.c
gcc/testsuite/gcc.dg/guality/pr68860-2.c
gcc/testsuite/gcc.dg/guality/pr90074.c
gcc/testsuite/gcc.dg/guality/pr90716.c
gcc/testsuite/gcc.dg/guality/sra-1.c

index 26d25c2..6f1c017 100644 (file)
@@ -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
 
index db015e6..a4de564 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do run { xfail *-*-* } } */
+/* { dg-do run { xfail { ! aarch64*-*-* } } } */
 /* { dg-options "-g" } */
 /* { dg-require-effective-target alloca } */
 
index f4c5f15..6be240a 100644 (file)
@@ -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
 
index 8da447d..1b1f6d3 100644 (file)
@@ -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); }
index 0ab475a..5864c2a 100644 (file)
@@ -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" } } */
index 7ba8663..6e8d775 100644 (file)
@@ -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" } } */
 
index 4700d50..589009b 100644 (file)
@@ -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" } } */
index 308ef94..9fde33e 100644 (file)
@@ -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"
 
index e873d1b..ba14221 100644 (file)
@@ -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" } } } } } */
     }
 }
 
index a4105ab..81703eb 100644 (file)
@@ -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);
     }
index 6bc1683..e1368bf 100644 (file)
@@ -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;
index da18247..fabab96 100644 (file)
@@ -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);
     }
index c82de58..fd8465f 100644 (file)
@@ -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;
index 0903fbf..76fa1e3 100644 (file)
@@ -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;
index bb3fb5f..732c268 100644 (file)
@@ -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" } } */
 }
 
index 1741a38..68aa6c6 100644 (file)
@@ -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;
     }
 }
index 4f02bc9..d6da4a7 100644 (file)
@@ -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;
 }
 
index 9777f62..0e48559 100644 (file)
@@ -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");
 }
index 8c8d835..bbd9d6e 100644 (file)
@@ -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" } } */
index 070efbc..a18a04e 100644 (file)
@@ -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" } } */
index 1294928..2fd8842 100644 (file)
@@ -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;
 }
index b2f5c9d..fe7e556 100644 (file)
@@ -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;
 }
index 8ad57cf..e9b920e 100644 (file)
@@ -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;
 }