https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78947
Roger Sayle <roger at nextmovesoftware dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |roger at nextmovesoftware dot com Resolution|--- |FIXED Status|ASSIGNED |RESOLVED --- Comment #4 from Roger Sayle <roger at nextmovesoftware dot com> --- As Andrew mentioned in comment #2, this has been fixed/resolved since GCC v9. Mainline g++ -O3 currently generates: condSet(int, int, int): test edi, edi cmovne edx, esi test edx, edx setne al ret [I believe the status change/assignment in comment #3 was due to a typo in the bugzilla PR number].