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  
       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" } } */