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    0x3c00 /* 1.000000 */,
      11    0x3c00 /* 1.000000 */,
      12    0xc0a8 /* -2.328125 */,
      13    0x5672 /* 103.125000 */,
      14    0x5240 /* 50.000000 */,
      15    0x3614 /* 0.379883 */,
      16    0xbf34 /* -1.800781 */,
      17    0xc5e6 /* -5.898438 */,
      18    0xcaf4 /* -13.906250 */,
      19    0x4d14 /* 20.312500 */,
      20    0xc6e5 /* -6.894531 */,
      21    0x419a /* 2.800781 */,
      22    0xc69a /* -6.601562 */,
      23    0x4c8f /* 18.234375 */,
      24    0xc5fe /* -5.992188 */,
      25    0x4d15 /* 20.328125 */,
      26    0x7e00 /* nan */,
      27    0x7e00 /* nan */,
      28  };
      29  
      30  #define TEST_MSG "VADDH_F16"
      31  #define INSN_NAME vaddh_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 "binary_scalar_op.inc"