1 /* { dg-do compile } */
2 /* { dg-options "-O2 -mstv -march=skylake-avx512 -mtune=skylake-avx512" } */
3
4 #define max(a,b) (((a) > (b))? (a) : (b))
5 #define min(a,b) (((a) < (b))? (a) : (b))
6
smax1(int x)7 int smax1(int x)
8 {
9 return max(x,1);
10 }
11
smin1(int x)12 int smin1(int x)
13 {
14 return min(x,1);
15 }
16
smaxm1(int x)17 int smaxm1(int x)
18 {
19 return max(x,-1);
20 }
21
sminm1(int x)22 int sminm1(int x)
23 {
24 return min(x,-1);
25 }
26
umax1(unsigned int x)27 unsigned int umax1(unsigned int x)
28 {
29 return max(x,1);
30 }
31
umin1(unsigned int x)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" } } */
39