Hi Segher, > On 29 Mar 2019, at 09:33, Segher Boessenkool <seg...@kernel.crashing.org> > wrote:
> 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? :-) Well .. we all have long-term objectives, right? :-) >> 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? I don’t think it makes any sense to add any more overt VSX support (the oddity of soft support for the two VSX vector sizes mentioned is a pain when dealing with other compilers), thanks Iain