]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: Fix toplevel-asm-1.c failure for riscv
authorJakub Jelinek <jakub@redhat.com>
Thu, 19 Dec 2024 10:36:29 +0000 (11:36 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 19 Dec 2024 10:36:29 +0000 (11:36 +0100)
On Wed, Dec 18, 2024 at 01:19:43PM +0100, Andreas Schwab wrote:
> On Dez 12 2024, Jakub Jelinek wrote:
>
> > The intent was to test %cN because %N doesn't DTRT on various targets.
> > I have a patch to add %ccN support which should then work even on riscv
> > hopefully, but unfortunately it hasn't been fully reviewed yet.
>
> That didn't change toplevel-asm-1, so the failure remains.

Yes, I've only committed what was approved.

The following patch ought to fix this (and if there are other targets which
don't really support %cN for SYMBOL_REFs even with -fno-pic, they can be
added there too; I think it is useful to test %cN on the targets where it
works though).

2024-12-19  Jakub Jelinek  <jakub@redhat.com>

* c-c++-common/toplevel-asm-1.c: Use %cc3 %cc4 instead of %c3 %c4
on riscv.

gcc/testsuite/c-c++-common/toplevel-asm-1.c

index 12623fcd6668026e8574c62539e77e9a0365a126..d6766b00e724778c35a3e7d4326f156924e10e81 100644 (file)
@@ -8,7 +8,12 @@ enum E { E0, E1 = sizeof (struct S) + 15 };
 int v[42];
 void foo (void) {}
 
+/* Not all targets can use %cN even in non-pic code.  */
+#if defined(__riscv)
+asm ("# %0 %1 %2 %cc3 %cc4 %5 %% %="
+#else
 asm ("# %0 %1 %2 %c3 %c4 %5 %% %="
+#endif
      :: "i" (sizeof (struct S)),
        "i" (__builtin_offsetof (struct S, c)),
        "i" (E1),