(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
neon-vcond-ltgt.c
       1  /* { dg-do compile } */
       2  /* { dg-require-effective-target arm_neon_ok } */
       3  /* { dg-options "-O1 -funsafe-math-optimizations -ftree-vectorize" }  */
       4  /* { dg-add-options arm_neon } */
       5  
       6  #define LTGT(a, b) (__builtin_islessgreater (a, b) ? a : b)
       7  void foo (int ilast,float* w, float* w2)
       8  {
       9    int i;
      10    for (i = 0; i < ilast; ++i)
      11    {
      12      w[i] = LTGT (0.0f, w2[i]);
      13    }
      14  }
      15  
      16  /* { dg-final { scan-assembler "vclt\\.f32\[\\t \]*q\[0-9\]+,\[\\t \]*q\[0-9\]+,\[\\t \]*#0" } } */
      17  /* { dg-final { scan-assembler "vcgt\\.f32\[\\t \]*q\[0-9\]+,\[\\t \]*q\[0-9\]+,\[\\t \]*#0" } } */
      18  /* { dg-final { scan-assembler "vorr\[\\t \]*q\[0-9\]+,\[\\t \]*q\[0-9\]+,\[\\t \]*q\[0-9\]+" } } */
      19  /* { dg-final { scan-assembler "vbsl|vbit|vbif\[\\t \]*q\[0-9\]+,\[\\t \]*q\[0-9\]+,\[\\t \]*q\[0-9\]+" } } */