Hi Iain,

> -----Original Message-----
> From: Iain Sandoe <[email protected]>
> Sent: 16 July 2026 09:38
> To: Tamar Christina <[email protected]>
> Cc: GCC Patches <[email protected]>
> Subject: Re: [PATCH] aarch64: Add dg-requires for BE support where it used.
> 
> Hi Tamar,
> 
> > On 16 Jul 2026, at 08:53, Tamar Christina <[email protected]>
> wrote:
> >
> >> -----Original Message-----
> >> From: Iain Sandoe <[email protected]>
> >> Sent: 15 July 2026 20:25
> >> To: Karl Meakin <[email protected]>; Tamar Christina
> >> <[email protected]>; [email protected]
> >> Subject: [PATCH] aarch64: Add dg-requires for BE support where it used.
> >>
> >> Tested on aarch64-linux and aarch64-darwin where this resolves around 40
> >> fails and over 1400 UNRESOLVED (on cfarm425 as well).  I guess this is
> >> borderline obvious - but in case I missed something .. OK for trunk?
> >
> > Hmm the UNRESOLVED come from aarch64/neon/* but the other tests, are
> > Assemble and compile only tests and most of them avoid using standard
> headers
> > such that they work without tripping over glibc's ABI variant thing which is
> what
> > prevents the header includes to work when using -mbig-endian and the
> assembler
> > also supports both (well, gas does).
> >
> > But for those tests using stdint_types_mbig_endian effective check should
> work.
> >
> > So I don't think we want the check for big-endian on the tests outside of
> > aarch64/neon.
> 
> Ah.. well i am trying to reduce the testsuite patch size for the darwin port
> to reduce what needs to be reviewed there.
> 
> Darwin does not support big-endian at all and so even the presence of the
> option causes a test fail.
> An alternate strategy is to skip all those tests for darwin.
> Which mechanism is preferred is, of course, your call.

Yeah I think it makes sense to add a check effective target check to check for
-mbig-endian support (so codegen) and then we can add that one to the tests
and exclude Darwin.

That way the codegen tests keep working on Linux.

> 
> >> diff --git a/gcc/testsuite/gcc.target/aarch64/neon/aarch64-neon.exp
> >> b/gcc/testsuite/gcc.target/aarch64/neon/aarch64-neon.exp
> >> index e3a48b306a5..258d632797c 100644
> >> --- a/gcc/testsuite/gcc.target/aarch64/neon/aarch64-neon.exp
> >> +++ b/gcc/testsuite/gcc.target/aarch64/neon/aarch64-neon.exp
> >> @@ -35,9 +35,11 @@ dg-init
> >> dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*\[cCs\]]] \
> >> " -ansi -pedantic-errors -std=c23 -O2 -march=armv8-a+simd" ""
> >>
> >> -# Again, for big-endian targets.
> >> -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*\[cCs\]]] \
> >> +if { [istarget be] } then {
> >> +    # Again, for big-endian targets.
> >> +    dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*\[cCs\]]] \
> >> " -ansi -pedantic-errors -std=c23 -O2 -march=armv8-a+simd -mbig-
> >> endian" ""
> >> +}
> >>
> >
> > I think the change here is all that's needed, but I think we should just 
> > remove
> > this check entirely.
> >
> > Karl did submit a similar patch to the above for this but I forgot about it 
> > until
> now.
> >
> > But I think we should just remove this, since due to GLIBC's ABI variants 
> > it's
> > very hard to get big endian codegen to work on linux compilers.  As such
> these
> > tests will never run on little-endian for most people.
> >
> > But then on big-endian they'll run twice because the "normal" variant
> doesn't force
> > little endian. So on Big Endian they'll effectively be the same thing.
> >
> > A patch to drop the entire " Again, for big-endian targets." Blob in
> aarch64/neon/aarch64-neon.exp
> >
> > Is thus OK and pre-approved should you want to commit that.
> 
> OK. I will do that, since the testsuite noise from it is significant.
> (we can decide on the way forward fo the rest in slower time)
> 

Cheers,
Tamar

> thanks
> Iain
> 
> >
> > Thanks,
> > Tamar

Reply via email to