/* { dg-do compile } */ /* { dg-options "-O2" } */ #define max(a,b) (((a) > (b))? (a) : (b)) #define min(a,b) (((a) < (b))? (a) : (b)) int smax1(int x) { return max(x,1); } int smin1(int x) { return min(x,1); } int smaxm1(int x) { return max(x,-1); } int sminm1(int x) { return min(x,-1); } unsigned int umax1(unsigned int x) { return max(x,1); } unsigned int umin1(unsigned int x) { return min(x,1); } /* { dg-final { scan-assembler-times "test" 6 } } */ /* { dg-final { scan-assembler-not "cmp" } } */