(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
cmpccxadd-1.c
       1  /* { dg-do compile { target { ! ia32 } } } */
       2  /* { dg-options "-O2 -mcmpccxadd" } */
       3  /* { dg-final { scan-assembler-times "cmpoxadd\[ \\t\]" 2 } } */
       4  /* { dg-final { scan-assembler-times "cmpnoxadd\[ \\t\]" 2 } } */
       5  /* { dg-final { scan-assembler-times "cmpbxadd\[ \\t\]" 2 } } */
       6  /* { dg-final { scan-assembler-times "cmpnbxadd\[ \\t\]" 2 } } */
       7  /* { dg-final { scan-assembler-times "cmpzxadd\[ \\t\]" 2 } } */
       8  /* { dg-final { scan-assembler-times "cmpnzxadd\[ \\t\]" 2 } } */
       9  /* { dg-final { scan-assembler-times "cmpbexadd\[ \\t\]" 2 } } */
      10  /* { dg-final { scan-assembler-times "cmpnbexadd\[ \\t\]" 2 } } */
      11  /* { dg-final { scan-assembler-times "cmpsxadd\[ \\t\]" 2 } } */
      12  /* { dg-final { scan-assembler-times "cmpnsxadd\[ \\t\]" 2 } } */
      13  /* { dg-final { scan-assembler-times "cmppxadd\[ \\t\]" 2 } } */
      14  /* { dg-final { scan-assembler-times "cmpnpxadd\[ \\t\]" 2 } } */
      15  /* { dg-final { scan-assembler-times "cmplxadd\[ \\t\]" 2 } } */
      16  /* { dg-final { scan-assembler-times "cmpnlxadd\[ \\t\]" 2 } } */
      17  /* { dg-final { scan-assembler-times "cmplexadd\[ \\t\]" 2 } } */
      18  /* { dg-final { scan-assembler-times "cmpnlexadd\[ \\t\]" 2 } } */
      19  #include <x86gprintrin.h>
      20  
      21  int *a;
      22  int b, c;
      23  long long *d;
      24  long long e, f;
      25  
      26  void extern
      27  cmpccxadd_test(void)
      28  {
      29    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_O);
      30    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_O);
      31    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_NO);
      32    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_NO);
      33    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_B);
      34    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_B);
      35    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_NB);
      36    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_NB);
      37    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_Z);
      38    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_Z);
      39    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_NZ);
      40    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_NZ);
      41    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_BE);
      42    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_BE);
      43    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_NBE);
      44    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_NBE);
      45    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_S);
      46    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_S);
      47    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_NS);
      48    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_NS);
      49    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_P);
      50    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_P);
      51    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_NP);
      52    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_NP);
      53    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_L);
      54    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_L);
      55    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_NL);
      56    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_NL);
      57    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_LE);
      58    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_LE);
      59    b = _cmpccxadd_epi32 (a, b, c, _CMPCCX_NLE);
      60    e = _cmpccxadd_epi64 (d, e, f, _CMPCCX_NLE);
      61  }