https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116458
--- Comment #9 from Alexander Monakov <amonakov at gcc dot gnu.org> --- Okay, if you take the addition and the branch from the inlined variant: addl %eax, %edx je .L3 and add a 'test' instruction: addl %eax, %edx test %edx, %edx je .L3 then Valgrind doesn't complain. So it looks like propagation of known bits is actually powerful enough, but there's a strange weakness in handling of ZF when it is used directly from addition.