🔬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.
cpuidintrinsicsi386intrinsics- 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’sxsaveandxsaveopttarget 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
f32types, x86-specific - 128-bit wide set of two
f64types, x86-specific - 128-bit wide integer vector type, x86-specific
- 256-bit wide set of eight
f32types, x86-specific - 256-bit wide set of four
f64types, x86-specific - 256-bit wide integer vector type, x86-specific
- 512-bit wide set of sixteen
f32types, x86-specific - 512-bit wide set of eight
f64types, x86-specific - 512-bit wide integer vector type, x86-specific
Traits
Type Definitions
- _MM_CMPINT_ENUMExperimentalThe
_MM_CMPINT_ENUMtype used to specify comparison operations in AVX-512 intrinsics. - _MM_MANTISSA_NORM_ENUMExperimentalThe
MM_MANTISSA_NORM_ENUMtype used to specify mantissa normalized operations in AVX-512 intrinsics. - _MM_MANTISSA_SIGN_ENUMExperimentalThe
MM_MANTISSA_SIGN_ENUMtype used to specify mantissa signed operations in AVX-512 intrinsics. - _MM_PERM_ENUMExperimentalThe
MM_PERM_ENUMtype used to specify shuffle operations in AVX-512 intrinsics. - __mmask8ExperimentalThe
__mmask8type used in AVX-512 intrinsics, a 8-bit integer - __mmask16ExperimentalThe
__mmask16type used in AVX-512 intrinsics, a 16-bit integer - __mmask32ExperimentalThe
__mmask32type used in AVX-512 intrinsics, a 32-bit integer - __mmask64ExperimentalThe
__mmask64type used in AVX-512 intrinsics, a 64-bit integer