2 /* { dg-require-effective-target arm_v8_2a_fp16_scalar_hw } */
3 /* { dg-add-options arm_v8_2a_fp16_scalar } */
20 /* Expected results (16-bit hexadecimal representation). */
21 uint16_t expected_1
[] =
23 0x0000 /* 0.000000 */,
24 0x0000 /* 0.000000 */,
25 0x53b0 /* 61.500000 */,
26 0xdc6e /* -283.500000 */,
27 0xcc40 /* -17.000000 */,
28 0x6000 /* 512.000000 */,
29 0xcfe0 /* -31.500000 */,
30 0x5548 /* 84.500000 */,
31 0xc000 /* -2.000000 */,
32 0x50d0 /* 38.500000 */,
33 0xd480 /* -72.000000 */,
34 0xcf00 /* -28.000000 */,
35 0xc800 /* -8.000000 */,
36 0xc780 /* -7.500000 */,
37 0xc700 /* -7.000000 */,
38 0xc680 /* -6.500000 */
41 uint16_t expected_2
[] =
43 0x0000 /* 0.000000 */,
44 0x0000 /* 0.000000 */,
45 0x4fb0 /* 30.750000 */,
46 0xd86e /* -141.750000 */,
47 0xc840 /* -8.500000 */,
48 0x5c00 /* 256.000000 */,
49 0xcbe0 /* -15.750000 */,
50 0x5148 /* 42.250000 */,
51 0xbc00 /* -1.000000 */,
52 0x4cd0 /* 19.250000 */,
53 0xd080 /* -36.000000 */,
54 0xcb00 /* -14.000000 */,
55 0xc400 /* -4.000000 */,
56 0xc380 /* -3.750000 */,
57 0xc300 /* -3.500000 */,
58 0xc280 /* -3.250000 */
61 uint16_t expected_3
[] =
63 0x0000 /* 0.000000 */,
64 0x0000 /* 0.000000 */,
65 0x0000 /* 0.000000 */,
66 0x8002 /* -0.000000 */,
67 0x8000 /* -0.000000 */,
68 0x0004 /* 0.000000 */,
69 0x8000 /* -0.000000 */,
70 0x0001 /* 0.000000 */,
71 0x8000 /* -0.000000 */,
72 0x0000 /* 0.000000 */,
73 0x8001 /* -0.000000 */,
74 0x8000 /* -0.000000 */,
75 0x8000 /* -0.000000 */,
76 0x8000 /* -0.000000 */,
77 0x8000 /* -0.000000 */,
78 0x8000 /* -0.000000 */
81 #define TEST_MSG "VCVTH_N_F16_S32"
82 #define INSN_NAME vcvth_n_f16_s32
85 #define EXPECTED_1 expected_1
86 #define EXPECTED_2 expected_2
87 #define EXPECTED_3 expected_3
89 #define INPUT_TYPE int32_t
90 #define OUTPUT_TYPE float16_t
91 #define OUTPUT_TYPE_SIZE 16
93 #define SCALAR_OPERANDS
98 /* Include the template for unary scalar operations. */
99 #include "unary_scalar_op.inc"