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  #define INFF __builtin_inf ()
       8  
       9  /* Expected results (16-bit hexadecimal representation).  */
      10  uint16_t expected[] =
      11  {
      12    0x0000 /* 0.000000 */,
      13    0x8000 /* -0.000000 */,
      14    0xb765 /* -0.462158 */,
      15    0x27ef /* 0.030991 */,
      16    0x3955 /* 0.666504 */,
      17    0xccff /* -19.984375 */,
      18    0xc49a /* -4.601562 */,
      19    0xb1e3 /* -0.183960 */,
      20    0x3cd3 /* 1.206055 */,
      21    0x23f0 /* 0.015503 */,
      22    0xa9ef /* -0.046356 */,
      23    0x32f4 /* 0.217285 */,
      24    0xb036 /* -0.131592 */,
      25    0x4126 /* 2.574219 */,
      26    0xcd15 /* -20.328125 */,
      27    0x537f /* 59.968750 */,
      28    0x7e00 /* nan */,
      29    0x7e00 /* nan */
      30  };
      31  
      32  #define TEST_MSG "VDIVH_F16"
      33  #define INSN_NAME vdivh_f16
      34  
      35  #define EXPECTED expected
      36  
      37  #define INPUT_TYPE float16_t
      38  #define OUTPUT_TYPE float16_t
      39  #define OUTPUT_TYPE_SIZE 16
      40  
      41  /* Include the template for binary scalar operations.  */
      42  #include "binary_scalar_op.inc"