https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95737
HaoChen Gui <guihaoc at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |guihaoc at gcc dot gnu.org --- Comment #6 from HaoChen Gui <guihaoc at gcc dot gnu.org> --- //source code unsigned long long negativeLessThan(unsigned long long a, unsigned long long b) { return -(a < b); } //P8 with -O2 subfc 4,4,3 subfe 3,3,3 extsw 3,3 //P9 with -O2 li 10,0 li 9,1 cmpld 0,3,4 isel 3,9,10,0 neg 3,3 Seems cmp+isel on P9 is sub-optimal.