https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91154
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- So pretty much undo all ifcvt into conditional moves (aka pretend the target doesn't have cmov) or something else? The problem is that cmov isn't unconditionally bad or unconditionally good and moving in either direction usually results in significant regressions. cmov is good if the branch will be often badly predicted, so when the branch prediction is close to 50%, and is bad when it is usually well predicted.