https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81082
--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Fri Jan 26 10:30:36 2018 New Revision: 257077 URL: https://gcc.gnu.org/viewcvs?rev=257077&root=gcc&view=rev Log: 2018-01-26 Richard Biener <rguent...@suse.de> PR tree-optimization/81082 * fold-const.c (fold_plusminus_mult_expr): Do not perform the association if it requires casting to unsigned. * match.pd ((A * C) +- (B * C) -> (A+-B)): New patterns derived from fold_plusminus_mult_expr to catch important cases late when range info is available. * gcc.dg/vect/pr81082.c: New testcase. * gcc.dg/tree-ssa/loop-15.c: XFAIL the (int)((unsigned)n + -1U) * n + n simplification to n * n. Added: trunk/gcc/testsuite/gcc.dg/vect/pr81082.c Modified: trunk/gcc/ChangeLog trunk/gcc/fold-const.c trunk/gcc/match.pd trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/tree-ssa/loop-15.c