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    0x3c00 /* 1.000000 */,
      13    0x3c00 /* 1.000000 */,
      14    0x4000 /* 2.000000 */,
      15    0x5640 /* 100.000000 */,
      16    0x4f80 /* 30.000000 */,
      17    0x3666 /* 0.399902 */,
      18    0x3800 /* 0.500000 */,
      19    0x3d52 /* 1.330078 */,
      20    0xc64d /* -6.300781 */,
      21    0x4d00 /* 20.000000 */,
      22    0x355d /* 0.335205 */,
      23    0x409a /* 2.300781 */,
      24    0x3c00 /* 1.000000 */,
      25    0x4a91 /* 13.132812 */,
      26    0x34f6 /* 0.310059 */,
      27    0x4d00 /* 20.000000 */,
      28    0x7c00 /* inf */,
      29    0x7c00 /* inf */
      30  };
      31  
      32  #define TEST_MSG "VMAXNMH_F16"
      33  #define INSN_NAME vmaxnmh_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"