On Mon, Mar 07, 2022 at 05:57:40AM -0800, H.J. Lu via Gcc-patches wrote:
> --- a/gcc/config/i386/i386.cc
> +++ b/gcc/config/i386/i386.cc
> @@ -9444,9 +9444,8 @@ ix86_expand_epilogue (int style)
>         rtx sa = EH_RETURN_STACKADJ_RTX;
>         rtx_insn *insn;
>  
> -       /* %ecx can't be used for both DRAP register and eh_return.  */
> -       if (crtl->drap_reg)
> -         gcc_assert (REGNO (crtl->drap_reg) != CX_REG);
> +       /* Stack realignment doesn't work with eh_return.  */
> +       gcc_assert (!crtl->stack_realign_needed);

Shouldn't this be error or sorry?  Otherwise, won't
calls to __builtin_eh_return from random testcases where
stack realignment is needed or even with regparm nested functions
just ICE?
>  
>         /* regparm nested functions don't work with eh_return.  */
>         gcc_assert (!ix86_static_chain_on_stack);

        Jakub

Reply via email to