1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3
4 #define max(a,b) (((a) > (b))? (a) : (b))
5 #define min(a,b) (((a) < (b))? (a) : (b))
6
7 int smax1(int x)
8 {
9 return max(x,1);
10 }
11
12 int smin1(int x)
13 {
14 return min(x,1);
15 }
16
17 int smaxm1(int x)
18 {
19 return max(x,-1);
20 }
21
22 int sminm1(int x)
23 {
24 return min(x,-1);
25 }
26
27 unsigned int umax1(unsigned int x)
28 {
29 return max(x,1);
30 }
31
32 unsigned int umin1(unsigned int x)
33 {
34 return min(x,1);
35 }
36
37 /* { dg-final { scan-assembler-times "test" 6 } } */
38 /* { dg-final { scan-assembler-not "cmp" } } */