Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-08-28 09:11:39

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_AVX512VBMI_REGISTER_HPP
0013 #define XSIMD_AVX512VBMI_REGISTER_HPP
0014 
0015 #include "./xsimd_avx512ifma_register.hpp"
0016 
0017 namespace xsimd
0018 {
0019 
0020     /**
0021      * @ingroup architectures
0022      *
0023      * AVX512VBMI instructions
0024      */
0025     struct avx512vbmi : avx512ifma
0026     {
0027         static constexpr bool supported() noexcept { return XSIMD_WITH_AVX512VBMI; }
0028         static constexpr bool available() noexcept { return true; }
0029         static constexpr char const* name() noexcept { return "avx512vbmi"; }
0030     };
0031 
0032 #if XSIMD_WITH_AVX512VBMI
0033 
0034     namespace types
0035     {
0036         template <class T>
0037         struct get_bool_simd_register<T, avx512vbmi>
0038         {
0039             using type = simd_avx512_bool_register<T>;
0040         };
0041 
0042         XSIMD_DECLARE_SIMD_REGISTER_ALIAS(avx512vbmi, avx512ifma);
0043 
0044     }
0045 #endif
0046 }
0047 #endif