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