https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88916
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work| |13.0 --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- both_nonnegative looks to be fixed: movq %rdi, %rax orq %rsi, %rax notq %rax shrq $63, %rax ret _8 = a_4(D) | b_5(D); _9 = _8 >= 0; _6 = (int) _9; different_sign also seems to be fixed: .cfi_startproc xorq %rsi, %rdi shrq $63, %rdi movq %rdi, %rax ret _6 = a_2(D) ^ b_3(D); _1 = _6 < 0;