(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
avx512fp16-3b.c
       1  /* { dg-do run { target avx512fp16 } } */
       2  /* { dg-options "-O2 -mavx512fp16" } */
       3  
       4  #include <string.h>
       5  
       6  static void do_test (void);
       7  
       8  #define DO_TEST do_test
       9  #define AVX512FP16
      10  #include "avx512-check.h"
      11  #include "avx512fp16-3a.c"
      12  
      13  static void
      14  do_test (void)
      15  {
      16    _Float16 x = 25.3;
      17    union512h u = { x, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
      18  		  0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
      19  		  0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
      20  		  0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
      21    __m512h v;
      22    union512h a;
      23    memset (&v, -1, sizeof (v));
      24    v = foo1 (x);
      25    a.x = v;
      26    if (check_union512h (a, u.a))
      27      abort ();
      28    x = 33.3;
      29    u.a[0] = x;
      30    memset (&v, -1, sizeof (v));
      31    v = foo2 (&x);
      32    a.x = v;
      33    if (check_union512h (a, u.a))
      34      abort ();
      35  }