Viewing file: pr69097-1.c (1.69 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR tree-optimization/69097 */ /* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-optimized" } */ /* All the x % -y below should be optimized into x % y, as it should never be INT_MIN % -(-1). */ /* { dg-final { scan-tree-dump-not "-y" "optimized" } } */
int f1 (int x, int y) { if (x == -__INT_MAX__ - 1) __builtin_unreachable (); return x % -y; }
int f2 (int x, int y) { if (x < -__INT_MAX__) __builtin_unreachable (); return x % -y; }
int f3 (int x, int y) { if (y == -1) __builtin_unreachable (); return x % -y; }
int f4 (int x, int y) { if (y < 0) __builtin_unreachable (); return x % -y; }
int f5 (int x, int y) { if (y >= -1) __builtin_unreachable (); return x % -y; }
int f6 (int x, int y) { if (y < 0 || y > 24) __builtin_unreachable (); return x % -y; }
int f7 (int x, int y) { if (y <= -17 || y >= -1) __builtin_unreachable (); return x % -y; }
int f8 (int x, int y) { if (y >= -13 && y <= 15) __builtin_unreachable (); return x % -y; }
int f9 (int x, int y) { return x % -(y & ~4); }
int f10 (int x, int y) { if (x != -__INT_MAX__ - 1) return x % -y; return 34; }
int f11 (int x, int y) { if (x >= -__INT_MAX__) return x % -y; return 34; }
int f12 (int x, int y) { if (y != -1) return x % -y; return 34; }
int f13 (int x, int y) { if (y >= 0) return x % -y; return 34; }
int f14 (int x, int y) { if (y < -1) return x % -y; return 34; }
int f15 (int x, int y) { if (y >= 0 && y <= 24) return x % -y; return 34; }
int f16 (int x, int y) { if (y > -17 && y < -1) return x % -y; return 34; }
int f17 (int x, int y) { if (y < -13 || y > 15) return x % -y; return 34; }
|