111
|
1 /* PR rtl-optimization/38245 */
|
|
2 /* { dg-do compile } */
|
|
3 /* { dg-options "-O2 -fdump-tree-optimized" } */
|
|
4
|
|
5 static inline int
|
|
6 f1 (int si1, int si2)
|
|
7 {
|
|
8 return si2 == 0 ? si1 : si1 / si2;
|
|
9 }
|
|
10
|
|
11 static inline unsigned long long
|
|
12 f2 (unsigned long long ui1, unsigned long long ui2)
|
|
13 {
|
|
14 return ui1 % ui2;
|
|
15 }
|
|
16
|
|
17 unsigned char g;
|
|
18 volatile unsigned int h;
|
|
19
|
|
20 void
|
|
21 f3 (void)
|
|
22 {
|
|
23 if (!((signed char) f1 (0, f2 (g, 2123)) - 1))
|
|
24 h;
|
|
25 }
|
|
26
|
|
27 int
|
|
28 main (void)
|
|
29 {
|
|
30 f3 ();
|
|
31 return 0;
|
|
32 }
|
|
33
|
|
34 /* { dg-final { scan-tree-dump-not "% 2123" "optimized" } } */
|
|
35 /* { dg-final { scan-tree-dump-not "0 / " "optimized" } } */
|