1 /* { dg-do run } */
2 /* { dg-require-effective-target arm_v8_2a_fp16_scalar_hw } */
3 /* { dg-add-options arm_v8_2a_fp16_scalar }  */
4 
5 #include <arm_fp16.h>
6 
7 uint16_t expected[] =
8 {
9   0x8000 /* -0.000000 */,
10   0x0000 /* 0.000000 */,
11   0xc000 /* -2.000000 */,
12   0xc233 /* -3.099609 */,
13   0xcd00 /* -20.000000 */,
14   0xb666 /* -0.399902 */,
15   0x409a /* 2.300781 */,
16   0xbd52 /* -1.330078 */,
17   0x479a /* 7.601562 */,
18   0xb4f6 /* -0.310059 */,
19   0xb55d /* -0.335205 */,
20   0xb800 /* -0.500000 */,
21   0xbc00 /* -1.000000 */,
22   0xca91 /* -13.132812 */,
23   0x464d /* 6.300781 */,
24   0xcd00 /* -20.000000 */,
25   0xfc00 /* -inf */,
26   0x7c00 /* inf */
27 };
28 
29 #define TEST_MSG "VNEGH_F16"
30 #define INSN_NAME vnegh_f16
31 
32 #define EXPECTED expected
33 
34 #define INPUT_TYPE float16_t
35 #define OUTPUT_TYPE float16_t
36 #define OUTPUT_TYPE_SIZE 16
37 
38 /* Include the template for unary scalar operations.  */
39 #include "unary_scalar_op.inc"
40