Hi Iain,

On Fri, Mar 29, 2019 at 01:32:28AM +0000, Iain Sandoe wrote:
> 
> > On 28 Mar 2019, at 18:08, Segher Boessenkool <seg...@kernel.crashing.org> 
> > wrote:
> >> diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
> >> index 9fb36e41e7d..20c59f89c8f 100644
> >> --- a/gcc/config/rs6000/darwin.h
> >> +++ b/gcc/config/rs6000/darwin.h
> >> @@ -346,7 +346,8 @@ extern int darwin_emit_branch_islands;
> >>       && reg_class_subset_p (BASE_REGS, (CLASS)))          \
> >>    ? BASE_REGS                                                     \
> >>    : (GET_MODE_CLASS (GET_MODE (X)) == MODE_INT                    \
> >> -      && (CLASS) == GEN_OR_FLOAT_REGS)                            \
> >> +      && ((CLASS) == GEN_OR_FLOAT_REGS                            \
> >> +    || (CLASS) == GEN_OR_VSX_REGS))                       \
> >>    ? GENERAL_REGS                                          \
> >>    : (CLASS))
> > 
> > Darwin doesn't do VSX at all…  
> 
> Well.. Darwin doesn’t currently run on any CPU with VSX hardware…

"Currently"?  Do you have plans to change that?  :-)

> However, in their wisdom, the folks who were implementing it way back when
> made Darwin have a soft implementation of V2DF and V2DI (in case that
> matters, which seems unlikely in this context).
> 
> > But maybe there is something that can get
> > allocated to both FPRs and VRs, sure.  And GPRs.
> 
> not sure what is being asked or stated here - is there a question about ABI, 
> or
> just the assertion that some quantities could be placed in GPRs, FPRs or VRs?
> 
> (the latter seems reasonable to me, the former I’d need to think some more
> about).

It is mostly questioning if Darwin should have any VSX code.  The change
here seems to be harmless, but does it make much sense?


Segher

Reply via email to