http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59041

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
This one is not unnecessary, it is emitted on purpose from generic
mode-switching code:

-- gcc/mode-switching.c --

      /* Pretend the mode is clobbered across abnormal edges.  */
      {
        edge_iterator ei;
        edge e;
        FOR_EACH_EDGE (e, ei, bb->preds)
          if (e->flags & EDGE_COMPLEX)
        break;
        if (e)
          {
        ptr = new_seginfo (no_mode, BB_HEAD (bb), bb->index, live_now);
        add_seginfo (info + bb->index, ptr);
        bitmap_clear_bit (transp[bb->index], j);
          }
      }

It is true that 4.7 didn't emit vzeroupper here, but I think that generic code
is correct, and this is actually an improvement.

Reply via email to