github.com/searKing/golang/go@v1.2.74/os/signal/cgo/include/boost/predef/hardware/simd.h (about)

     1  /*
     2  Copyright Charly Chevalier 2015
     3  Copyright Joel Falcou 2015
     4  Distributed under the Boost Software License, Version 1.0.
     5  (See accompanying file LICENSE_1_0.txt or copy at
     6  http://www.boost.org/LICENSE_1_0.txt)
     7  */
     8  
     9  #include <boost/predef/hardware/simd/x86.h>
    10  #include <boost/predef/hardware/simd/x86_amd.h>
    11  #include <boost/predef/hardware/simd/arm.h>
    12  #include <boost/predef/hardware/simd/ppc.h>
    13  
    14  #ifndef BOOST_PREDEF_HARDWARE_SIMD_H
    15  #define BOOST_PREDEF_HARDWARE_SIMD_H
    16  
    17  #include <boost/predef/version_number.h>
    18  
    19  /*`
    20   [section Using the `BOOST_HW_SIMD_*` predefs]
    21   [include ../doc/hardware_simd.qbk]
    22   [endsect]
    23  
    24   [/ --------------------------- ]
    25  
    26   [section `BOOST_HW_SIMD_*`]
    27  
    28   [heading `BOOST_HW_SIMD`]
    29  
    30   The SIMD extension detected for a specific architectures.
    31   Version number depends on the detected extension.
    32  
    33   [table
    34       [[__predef_symbol__] [__predef_version__]]
    35  
    36       [[`BOOST_HW_SIMD_X86_AVAILABLE`] [__predef_detection__]]
    37       [[`BOOST_HW_SIMD_X86_AMD_AVAILABLE`] [__predef_detection__]]
    38       [[`BOOST_HW_SIMD_ARM_AVAILABLE`] [__predef_detection__]]
    39       [[`BOOST_HW_SIMD_PPC_AVAILABLE`] [__predef_detection__]]
    40       ]
    41  
    42   [include ../include/boost/predef/hardware/simd/x86.h]
    43   [include ../include/boost/predef/hardware/simd/x86_amd.h]
    44   [include ../include/boost/predef/hardware/simd/arm.h]
    45   [include ../include/boost/predef/hardware/simd/ppc.h]
    46  
    47   [endsect]
    48  
    49   [/ --------------------------- ]
    50  
    51   [section `BOOST_HW_SIMD_X86_*_VERSION`]
    52   [include ../include/boost/predef/hardware/simd/x86/versions.h]
    53   [endsect]
    54  
    55   [section `BOOST_HW_SIMD_X86_AMD_*_VERSION`]
    56   [include ../include/boost/predef/hardware/simd/x86_amd/versions.h]
    57   [endsect]
    58  
    59   [section `BOOST_HW_SIMD_ARM_*_VERSION`]
    60   [include ../include/boost/predef/hardware/simd/arm/versions.h]
    61   [endsect]
    62  
    63   [section `BOOST_HW_SIMD_PPC_*_VERSION`]
    64   [include ../include/boost/predef/hardware/simd/ppc/versions.h]
    65   [endsect]
    66  
    67   */
    68  
    69  // We check if SIMD extension of multiples architectures have been detected,
    70  // if yes, then this is an error!
    71  //
    72  // NOTE: _X86_AMD implies _X86, so there is no need to check for it here!
    73  //
    74  #if defined(BOOST_HW_SIMD_ARM_AVAILABLE) && defined(BOOST_HW_SIMD_PPC_AVAILABLE) ||\
    75      defined(BOOST_HW_SIMD_ARM_AVAILABLE) && defined(BOOST_HW_SIMD_X86_AVAILABLE) ||\
    76      defined(BOOST_HW_SIMD_PPC_AVAILABLE) && defined(BOOST_HW_SIMD_X86_AVAILABLE)
    77  #   error "Multiple SIMD architectures detected, this cannot happen!"
    78  #endif
    79  
    80  #if defined(BOOST_HW_SIMD_X86_AVAILABLE) && defined(BOOST_HW_SIMD_X86_AMD_AVAILABLE)
    81      // If both standard _X86 and _X86_AMD are available,
    82      // then take the biggest version of the two!
    83  #   if BOOST_HW_SIMD_X86 >= BOOST_HW_SIMD_X86_AMD
    84  #      define BOOST_HW_SIMD BOOST_HW_SIMD_X86
    85  #   else
    86  #      define BOOST_HW_SIMD BOOST_HW_SIMD_X86_AMD
    87  #   endif
    88  #endif
    89  
    90  #if !defined(BOOST_HW_SIMD)
    91      // At this point, only one of these two is defined
    92  #   if defined(BOOST_HW_SIMD_X86_AVAILABLE)
    93  #      define BOOST_HW_SIMD BOOST_HW_SIMD_X86
    94  #   endif
    95  #   if defined(BOOST_HW_SIMD_X86_AMD_AVAILABLE)
    96  #      define BOOST_HW_SIMD BOOST_HW_SIMD_X86_AMD
    97  #   endif
    98  #endif
    99  
   100  #if defined(BOOST_HW_SIMD_ARM_AVAILABLE)
   101  #   define BOOST_HW_SIMD BOOST_HW_SIMD_ARM
   102  #endif
   103  
   104  #if defined(BOOST_HW_SIMD_PPC_AVAILABLE)
   105  #   define BOOST_HW_SIMD BOOST_HW_SIMD_PPC
   106  #endif
   107  
   108  #if defined(BOOST_HW_SIMD)
   109  #   define BOOST_HW_SIMD_AVAILABLE
   110  #else
   111  #   define BOOST_HW_SIMD BOOST_VERSION_NUMBER_NOT_AVAILABLE
   112  #endif
   113  
   114  #define BOOST_HW_SIMD_NAME "Hardware SIMD"
   115  
   116  #endif
   117  
   118  #include <boost/predef/detail/test.h>
   119  BOOST_PREDEF_DECLARE_TEST(BOOST_HW_SIMD, BOOST_HW_SIMD_NAME)