1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-optimized" } */
4 unsigned int test1(unsigned int a
, unsigned int b
)
6 return (a
<< 2) + (b
<< 2) == a
* 4 + b
* 4;
9 unsigned int test2(unsigned int a
, unsigned int b
)
11 return (a
<< 2) + (b
<< 2) == (a
+ b
) << 2;
14 unsigned int test3(unsigned int a
, unsigned int b
)
16 return a
* 4 + b
* 4 == (a
+ b
) * 4;
19 unsigned int test4(unsigned int a
, unsigned int b
)
21 return (a
+ b
) << 2 == (a
+ b
) * 4;
24 unsigned int test5(unsigned int a
, unsigned int b
)
26 return (a
<< 2) + (b
<< 2) == (a
+ b
) * 4;
29 unsigned int test6(unsigned int a
, unsigned int b
)
31 return (a
+ b
) << 2 == a
* 4 + b
* 4;
34 /* { dg-final { scan-tree-dump-times "return 1" 6 "optimized" } } */