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

            Bug ID: 84064
           Summary: ICE in ix86_expand_prologue related to
                    -fstack-clash-protection and memcpy on i686
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: law at redhat dot com
          Reporter: fw at gcc dot gnu.org
  Target Milestone: ---
            Target: i686

Compile this with -O2 -m32 -march=i686 -fstack-clash-protection:

void
f (void *p1, void *p2)
{
  __builtin_memcpy (p1, p2, 1000);
}

The failing assertion is:

      /* We expect the GP registers to be saved when probes are used
         as the probing sequences might need a scratch register and
         the routine to allocate one assumes the integer registers
         have already been saved.  */
      gcc_assert (int_registers_saved);

Seen with trunk@257087.

Reply via email to