(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
s390/
vector/
vec-cmp-1.c
       1  /* Check that the proper unsigned compare instructions are being generated.  */
       2  
       3  /* { dg-do compile { target { s390*-*-* } } } */
       4  /* { dg-options "-O3 -mzarch -march=z13" } */
       5  
       6  /* { dg-final { scan-assembler-times "vchlb" 1 } } */
       7  /* { dg-final { scan-assembler-times "vchlh" 1 } } */
       8  /* { dg-final { scan-assembler-times "vchlf" 1 } } */
       9  /* { dg-final { scan-assembler-times "vchlg" 1 } } */
      10  
      11  typedef __attribute__((vector_size(16))) signed char v16qi;
      12  typedef __attribute__((vector_size(16))) unsigned char uv16qi;
      13  
      14  typedef __attribute__((vector_size(16))) signed short v8hi;
      15  typedef __attribute__((vector_size(16))) unsigned short uv8hi;
      16  
      17  typedef __attribute__((vector_size(16))) signed int v4si;
      18  typedef __attribute__((vector_size(16))) unsigned int uv4si;
      19  
      20  typedef __attribute__((vector_size(16))) signed long long v2di;
      21  typedef __attribute__((vector_size(16))) unsigned long long uv2di;
      22  
      23  v16qi
      24  f (uv16qi a, uv16qi b)
      25  {
      26    return a > b;
      27  }
      28  
      29  v8hi
      30  g (uv8hi a, uv8hi b)
      31  {
      32    return a > b;
      33  }
      34  
      35  v4si
      36  h (uv4si a, uv4si b)
      37  {
      38    return a > b;
      39  }
      40  
      41  v2di
      42  i (uv2di a, uv2di b)
      43  {
      44    return a > b;
      45  }