https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98713
Bug ID: 98713 Summary: Failure to generate branch version of abs if user requested it Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: david.bolvansky at gmail dot com Target Milestone: --- int branch_abs(int v) { return __builtin_expect(v > 0, 1) ? v : -v; } GCC -O2 now: branch_abs: mov eax, edi neg eax cmovs eax, edi ret Expected: branch_abs: mov eax, edi test edi, edi js .LBB0_1 ret .LBB0_1: neg eax ret Same for min/max.