File indexing completed on 2026-11-07 10:37:16
0001
0002
0003
0004
0005
0006
0007
0008
0009
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
0022
0023
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