https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82858
--- Comment #2 from Liu Hao <lh_mouse at 126 dot com> --- Trunk on <https://gcc.godbolt.org/> produces the following code: ``` saturated_add(unsigned int, unsigned int): add edi, esi mov eax, -1 cmovnc eax, edi ret ``` Condition moves are however, in my opinion, nothing better than branches, or they could be something worse: <http://yarchive.net/comp/linux/cmov.html>