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...)

Reply via email to