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

--- Comment #7 from H.J. Lu <hjl.tools at gmail dot com> ---
I think we should place

 if (current_function_decl && ix86_is_interrupt_p ())
    {
      for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
        {
          if (!STACK_REGNO_P (i) && !MMX_REGNO_P (i))
            {
              if (i == BP_REG || i == SP_REG)
                continue;
              if (i >= ARGP_REG && i <= FRAME_REG)
                continue;
              call_used_regs[i] = 0;
              fixed_regs[i] = 0;
            }
        }
    }

at the beginning of ix86_conditional_register_usage.

Reply via email to