(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
sse2-pr88547-1.c
       1  /* PR target/88547 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -msse2 -mno-sse3" } */
       4  /* { dg-final { scan-assembler-not "pmingtw\[\t ]" } } */
       5  /* { dg-final { scan-assembler-times "pminub\[\t ]" 2 } } */
       6  /* { dg-final { scan-assembler-times "pminsw\[\t ]" 2 } } */
       7  /* { dg-final { scan-assembler-not "pminsb\[\t ]" } } */
       8  /* { dg-final { scan-assembler-not "pminuw\[\t ]" } } */
       9  /* { dg-final { scan-assembler-not "pminud\[\t ]" } } */
      10  /* { dg-final { scan-assembler-not "pminuq\[\t ]" } } */
      11  
      12  typedef signed char v16qi __attribute__((vector_size(16)));
      13  typedef unsigned char v16uqi __attribute__((vector_size(16)));
      14  typedef short v8hi __attribute__((vector_size(16)));
      15  typedef unsigned short v8uhi __attribute__((vector_size(16)));
      16  typedef int v4si __attribute__((vector_size(16)));
      17  typedef unsigned v4usi __attribute__((vector_size(16)));
      18  typedef long long v2di __attribute__((vector_size(16)));
      19  typedef unsigned long long v2udi __attribute__((vector_size(16)));
      20  
      21  v16qi
      22  f1 (v16qi x, v16qi y)
      23  {
      24    return x <= y;
      25  }
      26  
      27  v16uqi
      28  f2 (v16uqi x, v16uqi y)
      29  {
      30    return x <= y;
      31  }
      32  
      33  v16qi
      34  f3 (v16qi x, v16qi y)
      35  {
      36    return x >= y;
      37  }
      38  
      39  v16uqi
      40  f4 (v16uqi x, v16uqi y)
      41  {
      42    return x >= y;
      43  }
      44  
      45  v8hi
      46  f5 (v8hi x, v8hi y)
      47  {
      48    return x <= y;
      49  }
      50  
      51  v8uhi
      52  f6 (v8uhi x, v8uhi y)
      53  {
      54    return x <= y;
      55  }
      56  
      57  v8hi
      58  f7 (v8hi x, v8hi y)
      59  {
      60    return x >= y;
      61  }
      62  
      63  v8uhi
      64  f8 (v8uhi x, v8uhi y)
      65  {
      66    return x >= y;
      67  }
      68  
      69  v4si
      70  f9 (v4si x, v4si y)
      71  {
      72    return x <= y;
      73  }
      74  
      75  v4usi
      76  f10 (v4usi x, v4usi y)
      77  {
      78    return x <= y;
      79  }
      80  
      81  v4si
      82  f11 (v4si x, v4si y)
      83  {
      84    return x >= y;
      85  }
      86  
      87  v4usi
      88  f12 (v4usi x, v4usi y)
      89  {
      90    return x >= y;
      91  }
      92  
      93  v2di
      94  f13 (v2di x, v2di y)
      95  {
      96    return x <= y;
      97  }
      98  
      99  v2udi
     100  f14 (v2udi x, v2udi y)
     101  {
     102    return x <= y;
     103  }
     104  
     105  v2di
     106  f15 (v2di x, v2di y)
     107  {
     108    return x >= y;
     109  }
     110  
     111  v2udi
     112  f16 (v2udi x, v2udi y)
     113  {
     114    return x >= y;
     115  }