[Bug target/114978] [14/15 regression] 548.exchange2_r 14%-28% regressions on Loongarch64 after gcc 14 snapshot 20240317

chenglulu at loongson dot cn gcc-bugzilla@gcc.gnu.org
Thu May 9 03:40:49 GMT 2024


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114978

--- Comment #10 from chenglulu <chenglulu at loongson dot cn> ---
(In reply to Xi Ruoyao from comment #9)
> (In reply to chenglulu from comment #8)
> 
> > diff --git a/gcc/config/loongarch/loongarch-def.cc
> > b/gcc/config/loongarch/loongarch-def.cc
> > index e8c129ce643..f27284cb20a 100644
> > --- a/gcc/config/loongarch/loongarch-def.cc
> > +++ b/gcc/config/loongarch/loongarch-def.cc
> > @@ -111,11 +111,7 @@ loongarch_rtx_cost_data::loongarch_rtx_cost_data ()
> >   tune targets (i.e. -mtune=native while PRID does not correspond to
> >   any known "-mtune" type).  */
> >  array_tune<loongarch_rtx_cost_data> loongarch_cpu_rtx_cost_data =
> > -  array_tune<loongarch_rtx_cost_data> ()
> > -    .set (CPU_LA664,
> > -         loongarch_rtx_cost_data ()
> > -           .movcf2gr_ (COSTS_N_INSNS (1))
> > -           .movgr2cf_ (COSTS_N_INSNS (1)));
> > +  array_tune<loongarch_rtx_cost_data> ();
> 
> But why?  Isn't movcf2gr and movgr2cf one-cycle on LA664?

I think this is weird too. I'm still testing other situations, and I'll find
out the reason after the testing is completed.


More information about the Gcc-bugs mailing list