(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
i386/
avx512f-os-support.h
       1  /* Check if the OS supports executing AVX512F instructions.  */
       2  
       3  #define XCR_XFEATURE_ENABLED_MASK	0x0
       4  
       5  #define XSTATE_FP	0x1
       6  #define XSTATE_SSE	0x2
       7  #define XSTATE_YMM	0x4
       8  #define XSTATE_OPMASK	0x20
       9  #define XSTATE_ZMM	0x40
      10  #define XSTATE_HI_ZMM	0x80
      11  
      12  static int
      13  avx512f_os_support (void)
      14  {
      15    unsigned int eax, edx;
      16    unsigned int ecx = XCR_XFEATURE_ENABLED_MASK;
      17    unsigned int mask = XSTATE_SSE | XSTATE_YMM | XSTATE_OPMASK
      18  		      | XSTATE_ZMM | XSTATE_HI_ZMM;
      19  
      20    __asm__ ("xgetbv" : "=a" (eax), "=d" (edx) : "c" (ecx));
      21  
      22    return ((eax & mask) == mask);
      23  }