1  /* Test the vmul_n_f64 AArch64 SIMD intrinsic.  */
       2  
       3  /* { dg-do run } */
       4  /* { dg-options "-O3" } */
       5  
       6  #include "arm_neon.h"
       7  
       8  extern void abort (void);
       9  
      10  float64_t __attribute__((noipa))
      11  test_vmul (float64x1_t arg1, float64_t arg2)
      12  {
      13    return vget_lane_f64 (vmul_n_f64 (arg1, arg2), 0);
      14  }
      15  
      16  int
      17  main (void)
      18  {
      19    float64_t minus_e, pi;
      20    float64_t expected, actual;
      21  
      22    pi = 3.14159265359;
      23    minus_e = -2.71828;
      24  
      25    expected = pi * minus_e;
      26    actual = test_vmul ((float64x1_t) { pi }, minus_e);
      27    if (expected != actual)
      28      abort ();
      29  
      30    return 0;
      31  }