On Thu, Feb 06, 2020 at 05:36:43PM +0100, Uros Bizjak wrote: > 2020-02-06 Uroš Bizjak <ubiz...@gmail.com> > > * config/i386/i386.md (*pushtf): Emit "#" instead of > calling gcc_unreachable in insn output. > (*pushxf): Ditto. > (*pushdf): Ditto. > (*pushsf_rex64): Ditto for alternatives other than 1. > (*pushsf): Ditto for alternatives other than 1. > > Committed to mainline. > > Uros.
> diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md > index 496a8666643..34649c010b8 100644 > --- a/gcc/config/i386/i386.md > +++ b/gcc/config/i386/i386.md > @@ -3032,7 +3032,7 @@ > "TARGET_64BIT || TARGET_SSE" > { > /* This insn should be already split before reg-stack. */ > - gcc_unreachable (); > + return ("#"); No need for those ()s around, just return "#"; would do. > @@ -3156,7 +3156,8 @@ > "TARGET_64BIT" > { > /* Anything else should be already split before reg-stack. */ > - gcc_assert (which_alternative == 1); > + if (which_alternative != 1) > + return ("#"); > return "push{q}\t%q1"; Shouldn't this be then "@ # push{q}\t%q1 #" instead then? > @@ -3169,7 +3170,8 @@ > "!TARGET_64BIT" > { > /* Anything else should be already split before reg-stack. */ > - gcc_assert (which_alternative == 1); > + if (which_alternative != 1) > + return ("#"); > return "push{l}\t%1"; > } > [(set_attr "type" "multi,push,multi") Likewise. Jakub