> On Tue, 25 Mar 2025, Richard Biener wrote:
> 
> > The following resolves missing reservations for DFmode *movdf_internal
> > loads and stores, visible as 'nothing' in -fsched-verbose=2 dumps.
> > 
> > Bootstrap and regtest running on x86_64-unknown-linux-gnu.
> 
> The alternative for the larger scale problem of missing DFmode handling
> is to s/V1DF/DF/ in the file - znver.md gets along without V1DF handling,
> supposedly using V1DF (V1SF isn't a thing) was a mistake?

Hmm, so we use DF for movsd and V1DF for movlpd.
movss is SF and movlps is V2SF so I guess we wnat to handle both?

Also core2.md and others do not list V1 variants which I suppose is also
missing case.  Perhaps as Jeff suggets, I could try to see how many
insns misses reservations by adding the assert...


> 
> Richard.
>  
> >     PR target/119010
> >     * config/i386/zn4zn5.md (znver4_sse_mov_fp, znver4_sse_mov_fp_load,
> >     znver5_sse_mov_fp_load, znver4_sse_mov_fp_store,
> >     znver5_sse_mov_fp_store): Also match V1SF and DF.
> > ---
> >  gcc/config/i386/zn4zn5.md | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
> > 
> > diff --git a/gcc/config/i386/zn4zn5.md b/gcc/config/i386/zn4zn5.md
> > index ae188a1201e..f8772fed620 100644
> > --- a/gcc/config/i386/zn4zn5.md
> > +++ b/gcc/config/i386/zn4zn5.md
> > @@ -986,35 +986,35 @@
> >  (define_insn_reservation "znver4_sse_mov_fp" 1
> >                      (and (eq_attr "cpu" "znver4,znver5")
> >                           (and (eq_attr "type" "ssemov")
> > -                              (and (eq_attr "mode" 
> > "V16SF,V8DF,V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,SF")
> > +                              (and (eq_attr "mode" 
> > "V16SF,V8DF,V8SF,V4DF,V4SF,V2DF,V2SF,V1DF,DF,SF")

This is OK.  I believe movsd and movlpd are about the same for
scheduling POV

Honza

Reply via email to