/* { dg-do compile } */ /* { dg-options "-O -fdump-tree-cddce1" } */ int fn1 (int x) { return 42L - (42 / x) * x; } long fn2 (int x) { return 42L - (42 / x) * x; } int fn3 (long int x) { return 42L - (42 / x) * x; } int fn4 (unsigned int a, int b) { return a - (unsigned) ((a / b) * b); } int fn5 (int a, unsigned int b) { return a - ((a / b) * b); } unsigned int fn6 (int a, int b) { return a - ((a / b) * b); } /* { dg-final { scan-tree-dump-not " / " "cddce1" } } */ /* { dg-final { scan-tree-dump-not " - " "cddce1" } } */ /* { dg-final { scan-tree-dump-not " \\+ " "cddce1" } } */