On
void bar (long int *);
void foo (void)
{
  long int buf[10];
  __builtin_memset (buf, 8, sizeof (buf));
  bar (buf);
}
fwprop effectively undoes what CSE optimized.  0x0808080808080808 is not a
valid constant for movdi_1_rex64 when the target is memory (movdi_1_rex64 only
allows non-32-bit-sign-extended immediates in source if the destination is a
register).


-- 
           Summary: [4.3 Regression] Pessimization caused by fwprop
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: x86_64-linux


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

Reply via email to