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

            Bug ID: 60879
           Summary: Wrong decision in decide_alg
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com
                CC: ubizjak at gmail dot com

decide_alg has

  /* Very tiny blocks are best handled via the loop, REP is expensive to
     setup.  */
  else if (expected_size != -1 && expected_size < 4)
    return loop_1_byte;

We use 1-byte loop on fixed size 1, 2 and 3.  We should simply unroll
loop.

Reply via email to