(root)/
glibc-2.38/
sysdeps/
x86_64/
fpu/
math-tests-arch.h
       1  /* Runtime architecture check for math tests. x86_64 version.
       2     Copyright (C) 2014-2023 Free Software Foundation, Inc.
       3     This file is part of the GNU C Library.
       4  
       5     The GNU C Library is free software; you can redistribute it and/or
       6     modify it under the terms of the GNU Lesser General Public
       7     License as published by the Free Software Foundation; either
       8     version 2.1 of the License, or (at your option) any later version.
       9  
      10     The GNU C Library is distributed in the hope that it will be useful,
      11     but WITHOUT ANY WARRANTY; without even the implied warranty of
      12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      13     Lesser General Public License for more details.
      14  
      15     You should have received a copy of the GNU Lesser General Public
      16     License along with the GNU C Library; if not, see
      17     <https://www.gnu.org/licenses/>.  */
      18  
      19  #include <sys/platform/x86.h>
      20  
      21  #if defined REQUIRE_AVX
      22  
      23  # define INIT_ARCH_EXT
      24  # define CHECK_ARCH_EXT                                        \
      25    do                                                           \
      26      {                                                          \
      27        if (!CPU_FEATURE_ACTIVE (AVX)) return;                   \
      28      }                                                          \
      29    while (0)
      30  
      31  #elif defined REQUIRE_AVX2
      32  
      33  # define INIT_ARCH_EXT
      34  # define CHECK_ARCH_EXT                                        \
      35    do                                                           \
      36      {                                                          \
      37        if (!CPU_FEATURE_ACTIVE (AVX2)) return;                  \
      38      }                                                          \
      39    while (0)
      40  
      41  #elif defined REQUIRE_AVX512F
      42  
      43  # define INIT_ARCH_EXT
      44  # define CHECK_ARCH_EXT                                        \
      45    do                                                           \
      46      {                                                          \
      47        if (!CPU_FEATURE_ACTIVE (AVX512F)) return;               \
      48      }                                                          \
      49    while (0)
      50  
      51  #else
      52  # include <sysdeps/generic/math-tests-arch.h>
      53  #endif