> Am 18.12.2024 um 21:28 schrieb Jakub Jelinek <ja...@redhat.com>:
>
> 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).
>
> Tested on x86_64-linux and with cross to riscv64-linux, ok for trunk?
Ok
> 2024-12-18 Jakub Jelinek <ja...@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.jj 2024-12-05
> 09:24:54.788005777 +0100
> +++ gcc/testsuite/c-c++-common/toplevel-asm-1.c 2024-12-18
> 19:06:33.567248675 +0100
> @@ -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),
>
>
> Jakub
>