As noted by Marc I forgot to actually utilize the iterator variable.

Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.

Richard.

PS: How do we want to refer to patterns in ChangeLogs?

2014-10-24  Richard Biener  <rguent...@suse.de>

        * match.pd (0 % X): Properly use the iterator iterating over
        all modulo operators.
        (X % 1): Likewise.

Index: gcc/match.pd
===================================================================
--- gcc/match.pd        (revision 216648)
+++ gcc/match.pd        (working copy)
@@ -64,13 +64,13 @@ (define_predicates
 (for op (ceil_mod floor_mod round_mod trunc_mod)
  /* 0 % X is always zero.  */
  (simplify
-  (trunc_mod integer_zerop@0 @1)
+  (op integer_zerop@0 @1)
   /* But not for 0 % 0 so that we can get the proper warnings and errors.  */
   (if (!integer_zerop (@1))
    @0))
  /* X % 1 is always zero.  */
  (simplify
-  (trunc_mod @0 integer_onep)
+  (op @0 integer_onep)
   { build_zero_cst (type); }))
 
 /* x | ~0 -> ~0  */

Reply via email to