https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88784
--- Comment #8 from rguenther at suse dot de <rguenther at suse dot de> --- On Wed, 22 May 2019, ffengqi at gcc dot gnu.org wrote: > 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. Sometimes iteration helps but sometimes it obfuscates things too much. match.pd also runs through the preprocessor (OK, I didn't really suggest to use macros to merge things ;)) > And I haven't found predicates for constant values other than zero (INT_MIN, > LONG_MIN, LLONG_MIN etc.). wi:eq_p (wi::to_wide (@1), wi::max_value (TYPE_PRECISION (TREE_TYPE (@1)), SIGNED)) (ok, a bit long...)