https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88784
--- Comment #7 from Qi Feng <ffengqi at gcc dot gnu.org> --- I add some patterns in match.pd which handles the original 5 transformations. But I don't the language used in match.pd well, the patterns I wrote are very similar. And I haven't found predicates for constant values other than zero (INT_MIN, LONG_MIN, LLONG_MIN etc.).