[Bug target/30778] [4.3 Regression] invalid code generation for memset() with -mtune=k8

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Sat Feb 24 23:24:00 GMT 2007



------- Comment #5 from ubizjak at gmail dot com  2007-02-24 23:24 -------
(In reply to comment #4)
> Hi,
> testing for expected_size is wrong here - with profile feedback, expected_size
> is average size of the block and thus can be smaller than actual size of the
> block being copied.
> In general we should in this case end up using move_by_pieces so we won't
> produce the loop anyway, but still there should be loop header test emitted, I
> am just looking on why it is skipped.

Please note, that the proposed patch in gcc-patches ML is a bit different and
also removes loops when number of iterations is 1.


-- 


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



More information about the Gcc-bugs mailing list