On Wed, Sep 09, 2020 at 05:30:33PM -0500, Pat Haugen wrote:
> On 9/9/20 4:41 PM, Segher Boessenkool wrote:
> > On Wed, Sep 09, 2020 at 04:14:37PM -0500, Pat Haugen wrote:
> > Can we rename mftgpr/mffgpr globally?  Maybe even as mfvsr and mtvsr,
> > because that is what is actually modeled here?  Such names will make it
> > much harder to get confused and use the wrong type, too :-)
> 
> Those types were originally created for the mffgpr/mftgpr Power6
> instructions. But since it appears we no longer generate those insns I

Yes, I know ;-)

> totally agree with doing a global change as you suggest to make things
> clearer. Would you like that as a separate patch or is it fine to
> include in this one?

That will be pretty big and mechanic, so separate please.  Either before
or after this one.

power6.md still uses this attribute to describe the p6-specific insns
scheduling.  Not sure what to do with that?  Remove it, or if we leave
it, add a comment?

> >> diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
> >> index 54da54c43dc..3a5cf896da8 100644
> >> --- a/gcc/config/rs6000/vsx.md
> >> +++ b/gcc/config/rs6000/vsx.md
> >> @@ -2885,7 +2885,7 @@ (define_insn "vsx_concat_<mode>"
> >>    else
> >>      gcc_unreachable ();
> >>  }
> >> -  [(set_attr "type" "vecperm")])
> >> +  [(set_attr "type" "vecperm,vecmove")])
> > 
> > mtvsrdd is a mtvsr, sorry, mffgpr just the same?  It isn't vecmove?
> > 
> >> @@ -4440,7 +4440,7 @@ (define_insn "vsx_splat_<mode>_reg"
> >>    "@
> >>     xxpermdi %x0,%x1,%x1,0
> >>     mtvsrdd %x0,%1,%1"
> >> -  [(set_attr "type" "vecperm")])
> >> +  [(set_attr "type" "vecperm,vecmove")])
> > 
> > Same here.
> 
> mtvsrdd dispatches as a vector op, so requires a super-slice. As opposed
> to the others which just require a single execution slice for Power9.

Ah in that sense.  Okay for trunk then (and backports if we want those).
Thanks!


Segher

Reply via email to