1/* Test the vmla_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
10extern void abort (void);
11
12int
13main (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 (0x3fc4de626b6bbe9cULL);
23  arg2 = vcreate_f64 (0x3fb7e454dbe84408ULL);
24  arg3 = vcreate_f64 (0x3fdd359b94201a3aULL);
25
26  expected = 0.20563116414665633;
27  actual = vget_lane_f64 (vmla_f64 (arg1, arg2, arg3), 0);
28
29  if (__builtin_fabs (expected - actual) > EPS)
30    abort ();
31
32  return 0;
33}
34