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

--- Comment #20 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Bernd Schmidt from comment #19)
> > This splitter is placed before the one we want.  We have quite
> > a few similar splitters far apart and we lose the track.  This
> > patch:
> > 
> > diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
> > index 940dc20..dc46b16 100644
> > --- a/gcc/config/i386/i386.md
> > +++ b/gcc/config/i386/i386.md
> > @@ -3615,6 +3615,35 @@
> >      FAIL;
> >  })
> >  
> > +;; Break partial reg stall for cvtss2sd.
> > +
> > +(define_split
> > +  [(set (match_operand:DF 0 "register_operand")
> > +        (float_extend:DF
> ...]
> 
> > works for me.
> 
> Did you mean to move the existing one rather than add a copy?

Yes.

> I don't know what you're trying to tell me with the two followup messages
> after this.

We should exam those split/peephole patterns to check if their placements
and conditions are correct.

Reply via email to