------- Comment #7 from rask at sygehus dot dk 2007-06-13 13:36 ------- Looking at this again, I don't think the transformation I'm making with the splitter is valid, because I'm making up a zero extension which wasn't there to begin with. The upper part could have been non-zero before the instruction. As to the original example, it should be possible to optimize
addl %eax, %edx cmpl %edx, %eax ja .L7 into addl %eax, %edx jc .L7 with a CCmode expressing that the carry flag is set if %edx is smaller than %eax. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30315