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 /* Expected results (16-bit hexadecimal representation).  */
8 uint16_t expected[] =
9 {
10  0x0000 /* 0.000000 */,
11  0x0000 /* 0.000000 */,
12  0x3944 /* 0.658203 */,
13  0xcefa /* -27.906250 */,
14  0x5369 /* 59.281250 */,
15  0x35ba /* 0.357910 */,
16  0xc574 /* -5.453125 */,
17  0xc5e6 /* -5.898438 */,
18  0x3f66 /* 1.849609 */,
19  0x5665 /* 102.312500 */,
20  0xc02d /* -2.087891 */,
21  0x4d79 /* 21.890625 */,
22  0x547b /* 71.687500 */,
23  0xcdf0 /* -23.750000 */,
24  0xc625 /* -6.144531 */,
25  0x4cf9 /* 19.890625 */,
26  0x7e00 /* nan */,
27  0x7e00 /* nan */
28 };
29 
30 #define TEST_MSG "VFMAH_F16"
31 #define INSN_NAME vfmah_f16
32 
33 #define EXPECTED expected
34 
35 #define INPUT_TYPE float16_t
36 #define OUTPUT_TYPE float16_t
37 #define OUTPUT_TYPE_SIZE 16
38 
39 /* Include the template for binary scalar operations.  */
40 #include "ternary_scalar_op.inc"
41