https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92953
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- On x86_64 since the flags get clobbered with almost all instructions. Either you do the subtraction twice or you use set instruction. GCC choses the later ... I suspect that is a general issue that shows up more than normal on x86_64 than any other target due to that.