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   0x3944 /* 0.658203 */,
      13   0xcefa /* -27.906250 */,
      14   0x5369 /* 59.281250 */,
      15   0x35ba /* 0.357910 */,
      16   0xc574 /* -5.453125 */,
      17   0xc5e6 /* -5.898438 */,
      18   0x3f66 /* 1.849609 */,
      19   0x5665 /* 102.312500 */,
      20   0xc02d /* -2.087891 */,
      21   0x4d79 /* 21.890625 */,
      22   0x547b /* 71.687500 */,
      23   0xcdf0 /* -23.750000 */,
      24   0xc625 /* -6.144531 */,
      25   0x4cf9 /* 19.890625 */,
      26   0x7e00 /* nan */,
      27   0x7e00 /* nan */
      28  };
      29  
      30  #define TEST_MSG "VFMAH_F16"
      31  #define INSN_NAME vfmah_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 "ternary_scalar_op.inc"