https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88784
--- Comment #24 from rguenther at suse dot de <rguenther at suse dot de> --- On Tue, 11 Jun 2019, helijia at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88784 > > --- Comment #23 from Li Jia He <helijia at gcc dot gnu.org> --- > Created attachment 46477 > --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46477&action=edit > try to fix this issue in ifcombine(and_comparisons_1 and or_comparisons_1) > > I am trying to solve this issue directly in ifcombine. Would you like to help > me see what kind of question this patch might have ? In principle it looks good. It might not catch all variants that appear, it might arrive with Y < X && X != 0 for example. The ifcombine code also only handles the branchy case so the match.pd patterns are still required to handle the non-branchy cases. I understand you don't want to deal with re-writing ifcombine to not rely on its hand-written patterns.