On 06/05/2026 14:39, Tamar Christina wrote:
> > -----Original Message-----
> > From: Alex Coplan <[email protected]>
> > Sent: 06 May 2026 14:15
> > To: Tamar Christina <[email protected]>
> > Cc: [email protected]; nd <[email protected]>; Richard Earnshaw
> > <[email protected]>; [email protected];
> > [email protected]; Wilco Dijkstra
> > <[email protected]>; Alice Carlotti <[email protected]>
> > Subject: Re: [PATCH]AArch64: Turn on GPR narrowing pass by default
> > 
> > On 06/05/2026 14:00, Tamar Christina wrote:
> > > This turns on the GPR narrowing pass for all AArch64 targets.
> > 
> > In principle this sounds good, although maybe it should go in after
> > Soumya's fix for PR124895 to minimize noise for folks that are testing
> > the trunk.
> 
> Sure, I'll wait for that fix to be committed.
> 
> > 
> > >
> > > Bootstrapped Regtested on aarch64-none-linux-gnu and no issues.
> > >
> > > Any objections?
> > >
> > > Thanks,
> > > Tamar
> > >
> > > gcc/ChangeLog:
> > >
> > >   * config/aarch64/aarch64-tuning-flags.def
> > >   (AARCH64_EXTRA_TUNE_BASE): Add
> > AARCH64_EXTRA_TUNE_NARROW_GP_WRITES.
> > >
> > > ---
> > > diff --git a/gcc/config/aarch64/aarch64-tuning-flags.def
> > b/gcc/config/aarch64/aarch64-tuning-flags.def
> > > index
> > 882daa4b4312039f96dcde1295179be3ab3da0d0..058dadecccaac458e30a
> > 6585b558581a7bef6f54 100644
> > > --- a/gcc/config/aarch64/aarch64-tuning-flags.def
> > > +++ b/gcc/config/aarch64/aarch64-tuning-flags.def
> > > @@ -67,7 +67,8 @@ AARCH64_EXTRA_TUNING_OPTION
> > ("cheap_fpmr_write", CHEAP_FPMR_WRITE)
> > >
> > >  /* Baseline tuning settings suitable for all modern cores.  */
> > >  #define AARCH64_EXTRA_TUNE_BASE
> > (AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND      \
> > > -                          |
> > AARCH64_EXTRA_TUNE_FULLY_PIPELINED_FMA)
> > > +                          |
> > AARCH64_EXTRA_TUNE_FULLY_PIPELINED_FMA \
> > > +                          |
> > AARCH64_EXTRA_TUNE_NARROW_GP_WRITES)
> > 
> > Doesn't this render the tuning flag obsolete?  Presumably we could remove
> > the flag entirely and instead just adjust the default to 1 for
> > -mnarrow-gp-writes in aarch64.opt (simplifying the logic in
> > pass_narrow_gp_writes::gate accordingly)?
> 
> I think we should remove `-mnarrow-gp-writes` entirely.  With it on by default
> It can be disabled with the pass manager's standard 
> -fdisable-rtl-narrow_gp_writes
> so there's no need to the target option anymore.

I don't think the -m option can just be removed, since it is already present in
the GCC 16 release.

> 
> This would also be more inline with other generic passes.  Or do you see a 
> value in
> having it?
> 
> > 
> > Or would you prefer to keep it so that the pass can be turned off for
> > particular cores if required / to minimize churn in case a reversion is
> > needed?
> > 
> 
> I wanted to keep a way to disable it since I don't know if it'll do anything
> weird on partner cores.  So I think I'd like the tune for now, but when/if
> this moves to a middle-end pass to drop it.

That's fair enough, let's keep the tune flag in that case, so the original patch
is OK from my POV.

Thanks,
Alex

> 
> So I'll respin dropping the `-m` flag if you agree.

> 
> Thanks,
> Tamar
> 
> > Thanks,
> > Alex
> > 
> > >
> > >  /* Enables dispatch scheduling.  */
> > >  AARCH64_EXTRA_TUNING_OPTION ("dispatch_sched", DISPATCH_SCHED)
> > >
> > >
> > > --
> > 
> > > diff --git a/gcc/config/aarch64/aarch64-tuning-flags.def
> > b/gcc/config/aarch64/aarch64-tuning-flags.def
> > > index
> > 882daa4b4312039f96dcde1295179be3ab3da0d0..058dadecccaac458e30a
> > 6585b558581a7bef6f54 100644
> > > --- a/gcc/config/aarch64/aarch64-tuning-flags.def
> > > +++ b/gcc/config/aarch64/aarch64-tuning-flags.def
> > > @@ -67,7 +67,8 @@ AARCH64_EXTRA_TUNING_OPTION
> > ("cheap_fpmr_write", CHEAP_FPMR_WRITE)
> > >
> > >  /* Baseline tuning settings suitable for all modern cores.  */
> > >  #define AARCH64_EXTRA_TUNE_BASE
> > (AARCH64_EXTRA_TUNE_CHEAP_SHIFT_EXTEND      \
> > > -                          |
> > AARCH64_EXTRA_TUNE_FULLY_PIPELINED_FMA)
> > > +                          |
> > AARCH64_EXTRA_TUNE_FULLY_PIPELINED_FMA \
> > > +                          |
> > AARCH64_EXTRA_TUNE_NARROW_GP_WRITES)
> > >
> > >  /* Enables dispatch scheduling.  */
> > >  AARCH64_EXTRA_TUNING_OPTION ("dispatch_sched", DISPATCH_SCHED)
> > >
> 

Reply via email to