1  /* { dg-do run { target avx512fp16 } } */
       2  /* { dg-options "-O2 -mavx512fp16 -mavx512dq" } */
       3  
       4  #define AVX512FP16
       5  #include "avx512fp16-helper.h"
       6  
       7  static void
       8  test_512 (void)
       9  {
      10    V512 v1, v2, v3, v4, exp, res;
      11    int i;
      12    init_src();
      13    
      14    unpack_ph_2twops(src1, &v1, &v2);
      15    v1.f32[0] = -v1.f32[0];
      16    exp = pack_twops_2ph(v1, v2);
      17    res.zmmh = src1.zmmh;
      18    res.f16[0] = -res.f16[0];
      19    check_results(&res, &exp, 32, "neg");
      20  
      21    unpack_ph_2twops(src1, &v1, &v2);
      22    for (i=0; i<16; i++)
      23    {
      24      v1.f32[i] = -v1.f32[i];  
      25      v2.f32[i] = -v2.f32[i];  
      26    }
      27    exp = pack_twops_2ph(v1, v2);
      28    res.zmmh = -src1.zmmh;
      29    check_results(&res, &exp, 32, "neg");
      30    if (n_errs != 0) {
      31        abort ();
      32    }
      33  }