(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
avx-check.h
       1  #include <stdlib.h>
       2  #include "cpuid.h"
       3  #include "m256-check.h"
       4  #include "avx-os-support.h"
       5  
       6  static void avx_test (void);
       7  
       8  static void
       9  __attribute__ ((noinline))
      10  do_test (void)
      11  {
      12    avx_test ();
      13  }
      14  
      15  int
      16  main ()
      17  {
      18    unsigned int eax, ebx, ecx, edx;
      19   
      20    if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
      21      return 0;
      22  
      23    /* Run AVX test only if host has AVX support.  */
      24    if (((ecx & (bit_AVX | bit_OSXSAVE)) == (bit_AVX | bit_OSXSAVE))
      25        && avx_os_support ()
      26  #ifdef AVXIFMA
      27        && __builtin_cpu_supports ("avxifma")
      28  #endif
      29  #ifdef AVXVNNIINT8
      30        && __builtin_cpu_supports ("avxvnniint8")
      31  #endif
      32  #ifdef AVXNECONVERT
      33        && __builtin_cpu_supports ("avxneconvert")
      34  #endif
      35        )
      36      {
      37        do_test ();
      38  #ifdef DEBUG
      39        printf ("PASSED\n");
      40  #endif
      41      }
      42  #ifdef DEBUG
      43    else
      44      printf ("SKIPPED\n");
      45  #endif
      46  
      47    return 0;
      48  }