> 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…
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).

Iain

Reply via email to