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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-06-24
                 CC|                            |hubicka at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.

memcpy_byte.c:2: note: Completely unroll loop 14 times

the new unrolling code unrolls the epilogue loop completely:

Estimating sizes for loop 3
 BB: 8, after_exit: 0
  size:   0 i.0_40 = (sizetype) i_38;
  size:   1 _41 = s_7(D) + i.0_40;
  size:   1 _42 = d_9(D) + i.0_40;
  size:   1 _43 = *_42;
  size:   1 *_41 = _43;
  size:   1 i_45 = i_38 + 1;
  size:   2 if (i_45 < _16)
   Exit condition will be eliminated in last copy.
 BB: 9, after_exit: 1
size: 7-0, last_iteration: 7-2
  Loop size: 7
  Estimated size after unrolling: 68

And loop distribution fails to detect the memcpy clone, too.

Reply via email to