(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
vbslq_f64_2.c
       1  /* Test vbslq_f64 can be folded.  */
       2  /* { dg-do assemble } */
       3  /* { dg-options "--save-temps -O3" } */
       4  
       5  #include <arm_neon.h>
       6  
       7  /* Should fold out one half of the BSL, leaving just a BIC.  */
       8  
       9  float32x4_t
      10  half_fold_me (uint32x4_t mask)
      11  {
      12    float32x4_t a = {0.0, 0.0, 0.0, 0.0};
      13    float32x4_t b = {2.0, 4.0, 8.0, 16.0};
      14    return vbslq_f32 (mask, a, b);
      15  
      16  }
      17  
      18  /* { dg-final { scan-assembler-not "bsl\\tv" } } */
      19  /* { dg-final { scan-assembler-not "bit\\tv" } } */
      20  /* { dg-final { scan-assembler-not "bif\\tv" } } */
      21  /* { dg-final { scan-assembler "bic\\tv" } } */
      22  
      23