Architecture manipulation¶
xsimd provides an high level description of the instruction sets it manipulates.
The mentionned types are primarily used as template parameters for batch, and when interacting with xsimd::dispatch()
.
-
struct
xsimd
::
avx2
¶ - #include <xsimd_avx2_register.hpp>
AVX2 instructions.
Inherits from xsimd::avx
Subclassed by xsimd::fma3< avx2 >
-
struct
xsimd
::
avx512bw
¶ - #include <xsimd_avx512bw_register.hpp>
AVX512BW instructions.
Inherits from xsimd::avx512dq
-
struct
xsimd
::
avx512cd
¶ - #include <xsimd_avx512cd_register.hpp>
AVX512CD instrutions.
Inherits from xsimd::avx512f
Subclassed by xsimd::avx512dq
-
struct
xsimd
::
avx512dq
¶ - #include <xsimd_avx512dq_register.hpp>
AVX512DQ instructions.
Inherits from xsimd::avx512cd
Subclassed by xsimd::avx512bw
-
struct
xsimd
::
avx512f
¶ - #include <xsimd_avx512f_register.hpp>
AVX512F instructions.
Inherits from xsimd::generic
Subclassed by xsimd::avx512cd
-
struct
xsimd
::
avx
¶ - #include <xsimd_avx_register.hpp>
AVX instructions.
Inherits from xsimd::generic
Subclassed by xsimd::avx2, xsimd::fma3< avx >
- template <>
-
template<>
structxsimd
::
fma3
<avx>¶ - #include <xsimd_fma3_avx_register.hpp>
AVX + FMA instructions.
Inherits from xsimd::avx
- template <>
-
template<>
structxsimd
::
fma3
<avx2>¶ - #include <xsimd_fma3_avx2_register.hpp>
AVX2 + FMA instructions.
Inherits from xsimd::avx2
- template <>
-
template<>
structxsimd
::
fma3
<sse4_2>¶ - #include <xsimd_fma3_sse_register.hpp>
SSE4.2 + FMA instructions.
Inherits from xsimd::sse4_2
-
struct
xsimd
::
fma4
¶ - #include <xsimd_fma4_register.hpp>
FMA4 instructions.
Inherits from xsimd::sse4_2
-
struct
xsimd
::
neon64
¶ - #include <xsimd_neon64_register.hpp>
NEON instructions for arm64.
Inherits from xsimd::neon
-
struct
xsimd
::
neon
¶ - #include <xsimd_neon_register.hpp>
NEON instructions for arm32.
Inherits from xsimd::generic
Subclassed by xsimd::neon64
-
struct
xsimd
::
sse2
¶ - #include <xsimd_sse2_register.hpp>
SSE2 instructions.
Inherits from xsimd::generic
Subclassed by xsimd::sse3
-
struct
xsimd
::
sse3
¶ - #include <xsimd_sse3_register.hpp>
SSE3 instructions.
Inherits from xsimd::sse2
Subclassed by xsimd::ssse3
-
struct
xsimd
::
sse4_1
¶ - #include <xsimd_sse4_1_register.hpp>
SSE4.1 instructions.
Inherits from xsimd::ssse3
Subclassed by xsimd::sse4_2
-
struct
xsimd
::
sse4_2
¶ - #include <xsimd_sse4_2_register.hpp>
SSE4.2 instructions.
Inherits from xsimd::sse4_1
Subclassed by xsimd::fma3< sse4_2 >, xsimd::fma4
-
struct
xsimd
::
ssse3
¶ - #include <xsimd_ssse3_register.hpp>
SSSE3 instructions.
Inherits from xsimd::sse3
Subclassed by xsimd::sse4_1
- template <size_t Width>
-
struct
xsimd::detail
::
sve
¶ - #include <xsimd_sve_register.hpp>
SVE instructions (fixed vector size) for arm64.
Inherits from xsimd::generic