On Thu, Sep 10, 2026 at 05:34:10AM +0800, H.J. Lu wrote:
> On Wed, Sep 9, 2026 at 9:23 PM Stefan Schulze Frielinghaus
> <[email protected]> wrote:
> >
> > Hi Rainer,
> >
> > On Wed, Sep 09, 2026 at 01:12:23PM +0200, Rainer Orth wrote:
> > > Hi Stefan,
> > >
> > > > Initially asm-hard-reg-2.c was intended to be considered only on 64-bit
> > > > x86. Commit r16-3110 changed this by adding i?86-*-* to the target
> > > > selector but does not add a definition for GPR which renders those tests
> > > > to fail for i?86-*-*. My intention to not include 32-bit targets was
> > > > due to the usage of long long integer types for GPR operands. @H.J. Lu,
> > > > can you elaborate on that commit? Was adding i?86-*-* really intended?
>
> Since gcc.dg/asm-hard-reg-5.c has
>
> #elif defined (__x86_64__)
> # define VR "{xmm9}"
> /* { dg-final { scan-assembler-times "foo\t%xmm9" 2 { target { x86_64-*-* } }
> }
> } */
> #endif
>
> this file failed to compile with -m32 on x86_64. BTW,
>
> /* { dg-final { scan-assembler-times "foo\t%xmm9" 2 { target { x86_64-*-* } }
> }
> } */
>
> should be changed to
>
> /* { dg-final { scan-assembler-times "foo\t%xmm9" 2 { target { {
> i?86-*-* x86_64-*-* } && { ! ia32 } } } } } */
>
> since -m64 defines __x86_64__ on x86.
The dg-compile target selector already filters out unsupported targets,
though, for the sake of completeness I will change this.
My initial question though was about asm-hard-reg-2.c where I still
believe that { x86 && lp64 } is the propper fix. I will send a v2
shortly.
Cheers,
Stefan