extern void bar (char *);

void
foo (int f, long a)
{
  {
    char d[32768];
    bar (d);
  }
  double b = f;
  while (a)
    {
      char c[8];
      __builtin_memcpy (c, &b, sizeof (c));
      if (*(double *) c != 2.0)
break;
    }
}

ICEs on powerpc-linux when compiled with -O -m32 -fstack-protector.
(plus:SI (reg:SI 150)
    (const_int 32764 [0x7ffc]))
is not valid memory_address_p for DFmode, because that address offsetted by 4
isn't a valid offset.


-- 
           Summary: [4.4 Regression] ICE in memory_address
           Product: gcc
           Version: 4.4.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: powerpc-linux


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

Reply via email to