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    0x4000 /* 2.000000 */,
      13    0x4233 /* 3.099609 */,
      14    0x4d00 /* 20.000000 */,
      15    0x3666 /* 0.399902 */,
      16    0x409a /* 2.300781 */,
      17    0x3d52 /* 1.330078 */,
      18    0x479a /* 7.601562 */,
      19    0x34f6 /* 0.310059 */,
      20    0x355d /* 0.335205 */,
      21    0x3800 /* 0.500000 */,
      22    0x3c00 /* 1.000000 */,
      23    0x4a91 /* 13.132812 */,
      24    0x464d /* 6.300781 */,
      25    0x4d00 /* 20.000000 */,
      26    0x7c00 /* inf */,
      27    0x7c00 /* inf */
      28  };
      29  
      30  #define TEST_MSG "VABSH_F16"
      31  #define INSN_NAME vabsh_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"