> On Aug 24, 2020, at 5:50 AM, Richard Biener <rguent...@suse.de> wrote:
>
> On Tue, 11 Aug 2020, Qing Zhao wrote:
>
>> Hi, Alexandre,
>>
>> CC’ing Richard for his comments on this.
>>
>>
>>> On Aug 10, 2020, at 9:39 PM, Alexandre Oliva <ol...@adacore.com> wrote:
>>>> I think that moving how to zeroing the registers part to each target
>>>> will be a better solution since each target has
>>>> Better idea on how to use the most efficient insns to do the work.
>>>
>>> It's certainly good to allow machine-specific optimized code sequences,
>>> but it would certainly be desirable to have a machine-independent
>>> fallback. It doesn't seem exceedingly hard to loop over the registers
>>> and emit a (set (reg:M N) (const_int 0)) for each one that is to be
>>> zeroed out.
>>
>> The current implementation already includes such machine-independent code,
>> it should be very easy to add this.
>>
>> Richard, what’s your opinion on this?
>> Do we need a machine-independent implementation to zeroing the registers for
>> the default when the target does not provide a optimized
>> Implementation?
>
> Well, at least silently doing nothing when the option is used would be
> bad. So at least a diagnostic would be required.
Yes, this is the current behavior in the current implementation.
> Note since the
> option is quite elaborate on what (sub-)set of regs is supposed to be
> cleared I'm not sure an implementation not involving any target hook
> is possible?
Agreed.
Thanks
Qing
>
> Richard.
>
>> Thanks.
>>
>> Qing
>>
>>>
>>>
>>
>>
>
> --
> Richard Biener <rguent...@suse.de <mailto:rguent...@suse.de>>
> SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
> Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)