Require target lra in gcc.dg/pr108095.c
[official-gcc.git] / gcc / testsuite / gcc.dg / pr94899.c
blob9fad057e4d2c3c11583b35b49b8a199f7b7bb12f
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-optimized" } */
4 typedef __INT16_TYPE__ int16_t;
5 typedef __INT32_TYPE__ int32_t;
6 typedef __UINT16_TYPE__ uint16_t;
7 typedef __UINT32_TYPE__ uint32_t;
9 #define MAGIC (~ (uint32_t) 0 / 2 + 1)
11 int
12 f_i16_i16 (int16_t x, int16_t y)
14 return x + MAGIC < y + MAGIC;
17 int
18 f_i16_i32 (int16_t x, int32_t y)
20 return x + MAGIC < y + MAGIC;
23 int
24 f_i32_i32 (int32_t x, int32_t y)
26 return x + MAGIC < y + MAGIC;
29 int
30 f_u32_i32 (uint32_t x, int32_t y)
32 return x + MAGIC < y + MAGIC;
35 int
36 f_u32_u32 (uint32_t x, uint32_t y)
38 return x + MAGIC < y + MAGIC;
41 int
42 f_i32_i32_sub (int32_t x, int32_t y)
44 return x - MAGIC < y - MAGIC;
47 /* The addition/subtraction of constants should be optimized away. */
48 /* { dg-final { scan-tree-dump-not " \\+ " "optimized"} } */
49 /* { dg-final { scan-tree-dump-not " \\- " "optimized"} } */