2 /* { dg-require-effective-target avx512er } */
3 /* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512er" } */
6 #include "avx512er-check.h"
11 __attribute__ ((noinline
, optimize (1)))
13 compute_sqrt_ref (float *a
, float *r
)
15 for (int i
= 0; i
< MAX
; i
++)
19 __attribute__ ((noinline
))
21 compute_sqrt_exp (float *a
, float *r
)
23 for (int i
= 0; i
< MAX
; i
++)
34 for (int i
= 0; i
< MAX
; i
++)
35 in
[i
] = 8765.987 - 8.6756 * i
;
37 compute_sqrt_ref (in
, ref
);
38 compute_sqrt_exp (in
, exp
);
40 for (int i
= 0; i
< MAX
; i
++)
42 float rel_err
= (ref
[i
] - exp
[i
]) / ref
[i
];
43 rel_err
= rel_err
> 0.0 ? rel_err
: -rel_err
;