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   0x8000 /* -0.000000 */,
12   0x4000 /* 2.000000 */,
13   0x4400 /* 4.000000 */,
14   0x4d00 /* 20.000000 */,
15   0x3c00 /* 1.000000 */,
16   0xc000 /* -2.000000 */,
17   0x4000 /* 2.000000 */,
18   0xc700 /* -7.000000 */,
19   0x3c00 /* 1.000000 */,
20   0x3c00 /* 1.000000 */,
21   0x3c00 /* 1.000000 */,
22   0x3c00 /* 1.000000 */,
23   0x4b00 /* 14.000000 */,
24   0xc600 /* -6.000000 */,
25   0x4d00 /* 20.000000 */,
26   0x7c00 /* inf */,
27   0xfc00 /* -inf */
28 };
29 
30 #define TEST_MSG "VRNDPH_F16"
31 #define INSN_NAME vrndph_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 unary scalar operations.  */
40 #include "unary_scalar_op.inc"
41