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

--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to H.J. Lu from comment #3)
> It is caused by r266358.

The nop INSN can be removed by split_all_insns later:

         if (INSN_P (insn))
            {
              rtx set = single_set (insn);

              /* Don't split no-op move insns.  These should silently
                 disappear later in final.  Splitting such insns would
                 break the code that handles LIBCALL blocks.  */
              if (set && set_noop_p (set))
                {
                  /* Nops get in the way while scheduling, so delete them
                     now if register allocation has already been done.  It
                     is too risky to try to do this before register
                     allocation, and there are unlikely to be very many
                     nops then anyways.  */
                  if (reload_completed)
                      delete_insn_and_edges (insn);

Reply via email to