Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-11-07 10:37:16

0001 /***************************************************************************
0002  * Copyright (c) Johan Mabille, Sylvain Corlay, Wolf Vollprecht and         *
0003  * Martin Renou                                                             *
0004  * Copyright (c) QuantStack                                                 *
0005  * Copyright (c) Serge Guelton                                              *
0006  *                                                                          *
0007  * Distributed under the terms of the BSD 3-Clause License.                 *
0008  *                                                                          *
0009  * The full license is in the file LICENSE, distributed with this software. *
0010  ****************************************************************************/
0011 
0012 #ifndef XSIMD_AVX512VBMI2_REGISTER_HPP
0013 #define XSIMD_AVX512VBMI2_REGISTER_HPP
0014 
0015 #include "./xsimd_avx512vbmi_register.hpp"
0016 
0017 namespace xsimd
0018 {
0019 
0020     /**
0021      * @ingroup architectures
0022      *
0023      * AVX512VBMI instructions
0024      */
0025     struct avx512vbmi2 : avx512vbmi
0026     {
0027         static constexpr bool supported() noexcept { return XSIMD_WITH_AVX512VBMI2; }
0028         static constexpr bool available() noexcept { return true; }
0029         static constexpr char const* name() noexcept { return "avx512vbmi2"; }
0030     };
0031 
0032 #if XSIMD_WITH_AVX512VBMI2
0033 
0034 #if !XSIMD_WITH_AVX512VBMI
0035 #error "architecture inconsistency: avx512vbmi2 requires avx512vbmi"
0036 #endif
0037 
0038     namespace types
0039     {
0040         template <class T>
0041         struct get_bool_simd_register<T, avx512vbmi2>
0042         {
0043             using type = simd_avx512_bool_register<T>;
0044         };
0045 
0046         XSIMD_DECLARE_SIMD_REGISTER_ALIAS(avx512vbmi2, avx512vbmi);
0047 
0048     }
0049 #endif
0050 }
0051 #endif