Viewing file: pr96708-negative.c (1.01 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run } */ /* { dg-options "-O -fdump-tree-optimized" } */
#include <stdbool.h>
bool __attribute__ ((noinline)) test1 (int a, int b) { int tmp = (a < b) ? b : a; return tmp <= a; }
bool __attribute__ ((noinline)) test2 (int a, int b) { int tmp = (a < b) ? b : a; return tmp > a; }
bool __attribute__ ((noinline)) test3 (int a, int b) { int tmp = (a > b) ? b : a; return tmp >= a; }
bool __attribute__ ((noinline)) test4 (int a, int b) { int tmp = (a > b) ? b : a; return tmp < a; }
int main() { if (test1 (1, 2) || !test1 (2, 1) || !test2 (1, 2) || test2 (2, 1) || !test3 (1, 2) || test3 (2, 1) || test4 (1, 2) || !test4 (2, 1)) { __builtin_abort(); } return 0; }
/* { dg-final { scan-tree-dump-times "MAX_EXPR" 2 "optimized" } } */ /* { dg-final { scan-tree-dump-times "MIN_EXPR" 2 "optimized" } } */ /* { dg-final { scan-tree-dump-times "return 0;" 1 "optimized" } } */ /* { dg-final { scan-tree-dump-not { "return 1;" } "optimized" } } */
|