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