🔬This is a nightly-only experimental API. (
stdsimd
#48556)Available on x86 or x86-64 only.
Expand description
x86
and x86_64
intrinsics.
Re-exports
pub use self::eflags::*;
Experimentalpub use self::fxsr::*;
Experimentalpub use self::bswap::*;
Experimentalpub use self::rdtsc::*;
Experimentalpub use self::cpuid::*;
Experimentalpub use self::xsave::*;
Experimentalpub use self::sse::*;
Experimentalpub use self::sse2::*;
Experimentalpub use self::sse3::*;
Experimentalpub use self::ssse3::*;
Experimentalpub use self::sse41::*;
Experimentalpub use self::sse42::*;
Experimentalpub use self::avx::*;
Experimentalpub use self::avx2::*;
Experimentalpub use self::fma::*;
Experimentalpub use self::abm::*;
Experimentalpub use self::bmi1::*;
Experimentalpub use self::bmi2::*;
Experimentalpub use self::sse4a::*;
Experimentalpub use self::tbm::*;
Experimentalpub use self::pclmulqdq::*;
Experimentalpub use self::aes::*;
Experimentalpub use self::rdrand::*;
Experimentalpub use self::sha::*;
Experimentalpub use self::adx::*;
Experimentalpub use self::avx512f::*;
Experimentalpub use self::avx512bw::*;
Experimentalpub use self::avx512cd::*;
Experimentalpub use self::avx512ifma::*;
Experimentalpub use self::avx512vbmi::*;
Experimentalpub use self::avx512vbmi2::*;
Experimentalpub use self::avx512vnni::*;
Experimentalpub use self::avx512bitalg::*;
Experimentalpub use self::gfni::*;
Experimentalpub use self::avx512vpopcntdq::*;
Experimentalpub use self::vaes::*;
Experimentalpub use self::vpclmulqdq::*;
Experimentalpub use self::bt::*;
Experimentalpub use self::rtm::*;
Experimentalpub use self::f16c::*;
Experimentalpub use self::avx512bf16::*;
Experimental
Modules
- Advanced Bit Manipulation (ABM) instructions
- AES New Instructions (AES-NI)
- Advanced Vector Extensions (AVX)
- Advanced Vector Extensions 2 (AVX)
- Bit-oriented Algorithms (BITALG)
- Vectorized Population Count Instructions for Double- and Quadwords (VPOPCNTDQ)
- Bit Manipulation Instruction (BMI) Set 1.0.
- Bit Manipulation Instruction (BMI) Set 2.0.
- Byte swap intrinsics.
cpuid
intrinsicsi386
intrinsics- Fused Multiply-Add instruction set (FMA)
- FXSR floating-point context fast save and restore.
- Galois Field New Instructions (GFNI)
- Utility macros.
- Carry-less Multiplication (CLMUL)
- RDRAND and RDSEED instructions for returning random numbers from an Intel on-chip hardware random number generator which has been seeded by an on-chip entropy source.
- RDTSC instructions.
- Intel’s Restricted Transactional Memory (RTM).
- Streaming SIMD Extensions (SSE)
- Streaming SIMD Extensions 2 (SSE2)
- Streaming SIMD Extensions 3 (SSE3)
i686
’s Streaming SIMD Extensions 4a (SSE4a
)- Streaming SIMD Extensions 4.1 (SSE4.1)
- Streaming SIMD Extensions 4.2 (SSE4.2)
- Supplemental Streaming SIMD Extensions 3 (SSSE3)
- Trailing Bit Manipulation (TBM) instruction set.
- Vectorized AES Instructions (VAES)
- Vectorized Carry-less Multiplication (VCLMUL)
i586
’sxsave
andxsaveopt
target feature intrinsics
Structs
- __m128bhExperimental128-bit wide set of eight ‘u16’ types, x86-specific
- __m256bhExperimental256-bit wide set of 16 ‘u16’ types, x86-specific
- __m512bhExperimental512-bit wide set of 32 ‘u16’ types, x86-specific
- 128-bit wide set of four
f32
types, x86-specific - 128-bit wide set of two
f64
types, x86-specific - 128-bit wide integer vector type, x86-specific
- 256-bit wide set of eight
f32
types, x86-specific - 256-bit wide set of four
f64
types, x86-specific - 256-bit wide integer vector type, x86-specific
- 512-bit wide set of sixteen
f32
types, x86-specific - 512-bit wide set of eight
f64
types, x86-specific - 512-bit wide integer vector type, x86-specific
Traits
Type Definitions
- _MM_CMPINT_ENUMExperimentalThe
_MM_CMPINT_ENUM
type used to specify comparison operations in AVX-512 intrinsics. - _MM_MANTISSA_NORM_ENUMExperimentalThe
MM_MANTISSA_NORM_ENUM
type used to specify mantissa normalized operations in AVX-512 intrinsics. - _MM_MANTISSA_SIGN_ENUMExperimentalThe
MM_MANTISSA_SIGN_ENUM
type used to specify mantissa signed operations in AVX-512 intrinsics. - _MM_PERM_ENUMExperimentalThe
MM_PERM_ENUM
type used to specify shuffle operations in AVX-512 intrinsics. - __mmask8ExperimentalThe
__mmask8
type used in AVX-512 intrinsics, a 8-bit integer - __mmask16ExperimentalThe
__mmask16
type used in AVX-512 intrinsics, a 16-bit integer - __mmask32ExperimentalThe
__mmask32
type used in AVX-512 intrinsics, a 32-bit integer - __mmask64ExperimentalThe
__mmask64
type used in AVX-512 intrinsics, a 64-bit integer