https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81914
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Predictions for bb 2 DS theory heuristics: 98.0% combined heuristics: 98.0% negative return heuristics of edge 2->4: 2.0% Predictions for bb 3 1 edges in bb 3 predicted to even probabilities Predictions for bb 4 1 edges in bb 4 predicted to even probabilities cmp (long long int a, long long int b) { _Bool _1; int iftmp.0_2; int iftmp.0_6; <bb 2> [local count: 1073741825]: if (a_3(D) >= b_4(D)) goto <bb 3>; [98.00%] else goto <bb 4>; [2.00%] Honza, I think it would be worth to recognize idioms like this (<=> operator) and don't apply Dempster-Shaffer in that case, but rather predict either equal probabilities for <, == and > (like before), or perhaps even somewhat smaller probability for the == case and slightly higher for < or >.