https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97715

--- Comment #17 from Qing Zhao <qing.zhao at oracle dot com> ---
> On Nov 4, 2020, at 10:08 AM, ubizjak at gmail dot com 
> <gcc-bugzi...@gcc.gnu.org> wrote:
>> 
>> I used the following in middle end to exclude fixed registers from being
>> zeroed:
>>      if (fixed_regs[regno])
>>        continue;
>> So, looks like that ST registers are not included in fixed_regs when
>> !TARGET_80387. 
>> Is this a bug in gcc?
> 
> fixed_regs members are only set with -ffixed-REG, in addition to members,
> initialized by the target-dependent initializer. It is not a bug.
Yes.

Then, we need to check whether the register is in “accessible_reg_set” to
exclude it from being
Zeroed as Jacub suggested in  Comment #14.  That looks like a better fix.

Reply via email to