/* { dg-do run } */ /* { dg-require-effective-target arm_v8_2a_fp16_scalar_hw } */ /* { dg-add-options arm_v8_2a_fp16_scalar } */ #include /* Input values. */ int32_t input[] = { 0, -0, 123, -567, -34, 1024, -63, 169, -4, 77, -144, -56, -16, -15, -14, -13, }; /* Expected results (16-bit hexadecimal representation). */ uint16_t expected[] = { 0x0000 /* 0.000000 */, 0x0000 /* 0.000000 */, 0x57b0 /* 123.000000 */, 0x7c00 /* inf */, 0x7c00 /* inf */, 0x6400 /* 1024.000000 */, 0x7c00 /* inf */, 0x5948 /* 169.000000 */, 0x7c00 /* inf */, 0x54d0 /* 77.000000 */, 0x7c00 /* inf */, 0x7c00 /* inf */, 0x7c00 /* inf */, 0x7c00 /* inf */, 0x7c00 /* inf */, 0x7c00 /* inf */ }; #define TEST_MSG "VCVTH_F16_U32" #define INSN_NAME vcvth_f16_u32 #define INPUT input #define EXPECTED expected #define INPUT_TYPE int32_t #define OUTPUT_TYPE float16_t #define OUTPUT_TYPE_SIZE 16 /* Include the template for unary scalar operations. */ #include "unary_scalar_op.inc"