1  /* Test the vmls_f64 AArch64 SIMD intrinsic.  */
       2  
       3  /* { dg-do run } */
       4  /* { dg-options "-O3" } */
       5  
       6  #include "arm_neon.h"
       7  
       8  #define EPS 1.0e-15
       9  
      10  extern void abort (void);
      11  
      12  int
      13  main (void)
      14  {
      15    float64x1_t arg1;
      16    float64x1_t arg2;
      17    float64x1_t arg3;
      18  
      19    float64_t expected;
      20    float64_t actual;
      21  
      22    arg1 = vcreate_f64 (0x3fea7ec860271ad9ULL);
      23    arg2 = vcreate_f64 (0x3fca04faa09302e8ULL);
      24    arg3 = vcreate_f64 (0x3fecfec8c67415a0ULL);
      25  
      26    expected = 0.6437868393361155;
      27    actual = vget_lane_f64 (vmls_f64 (arg1, arg2, arg3), 0);
      28  
      29    if (__builtin_fabs (expected - actual) > EPS)
      30      abort ();
      31  
      32    return 0;
      33  }