Module x86

Source
Available on x86 or x86-64 only.
Expand description

x86 and x86_64 intrinsics.

Re-exportsΒ§

pub use self::eflags::*;
pub use self::fxsr::*;
pub use self::bswap::*;
pub use self::rdtsc::*;
pub use self::cpuid::*;
pub use self::xsave::*;
pub use self::sse::*;
pub use self::sse2::*;
pub use self::sse3::*;
pub use self::ssse3::*;
pub use self::sse41::*;
pub use self::sse42::*;
pub use self::avx::*;
pub use self::avx2::*;
pub use self::fma::*;
pub use self::abm::*;
pub use self::bmi1::*;
pub use self::bmi2::*;
pub use self::sse4a::*;
pub use self::tbm::*;
pub use self::pclmulqdq::*;
pub use self::aes::*;
pub use self::rdrand::*;
pub use self::sha::*;
pub use self::adx::*;
pub use self::bt::*;
pub use self::f16c::*;
pub use self::avx512f::*;
pub use self::avx512bw::*;
pub use self::avx512cd::*;
pub use self::avx512dq::*;
pub use self::avx512ifma::*;
pub use self::avx512vbmi::*;
pub use self::avx512vbmi2::*;
pub use self::avx512vnni::*;
pub use self::avx512bitalg::*;
pub use self::gfni::*;
pub use self::avx512vpopcntdq::*;
pub use self::vaes::*;
pub use self::vpclmulqdq::*;
pub use self::rtm::*;
pub use self::avx512bf16::*;
pub use self::avxneconvert::*;
pub use self::avx512fp16::*;
pub use self::kl::*;

ModulesΒ§

abm πŸ”’
Advanced Bit Manipulation (ABM) instructions
adx πŸ”’
aes πŸ”’
AES New Instructions (AES-NI)
avx πŸ”’
Advanced Vector Extensions (AVX)
avx2 πŸ”’
Advanced Vector Extensions 2 (AVX)
avx512bf16 πŸ”’
AVX512BF16 intrinsics.
avx512bitalg πŸ”’
Bit-oriented Algorithms (BITALG)
avx512bw πŸ”’
avx512cd πŸ”’
avx512dq πŸ”’
avx512f πŸ”’
avx512fp16 πŸ”’
avx512ifma πŸ”’
avx512vbmi πŸ”’
avx512vbmi2 πŸ”’
avx512vnni πŸ”’
avx512vpopcntdq πŸ”’
Vectorized Population Count Instructions for Double- and Quadwords (VPOPCNTDQ)
avxneconvert πŸ”’
bmi1 πŸ”’
Bit Manipulation Instruction (BMI) Set 1.0.
bmi2 πŸ”’
Bit Manipulation Instruction (BMI) Set 2.0.
bswap πŸ”’
Byte swap intrinsics.
bt πŸ”’
cpuid πŸ”’
cpuid intrinsics
eflags πŸ”’
i386 intrinsics
f16c πŸ”’
F16C intrinsics.
fma πŸ”’
Fused Multiply-Add instruction set (FMA)
fxsr πŸ”’
FXSR floating-point context fast save and restore.
gfni πŸ”’
Galois Field New Instructions (GFNI)
kl πŸ”’
AES Key Locker Intrinsics
macros πŸ”’
Utility macros.
pclmulqdq πŸ”’
Carry-less Multiplication (CLMUL)
rdrand πŸ”’
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 πŸ”’
RDTSC instructions.
rtm πŸ”’
Intel’s Restricted Transactional Memory (RTM).
sha πŸ”’
sse πŸ”’
Streaming SIMD Extensions (SSE)
sse2 πŸ”’
Streaming SIMD Extensions 2 (SSE2)
sse3 πŸ”’
Streaming SIMD Extensions 3 (SSE3)
sse4a πŸ”’
i686’s Streaming SIMD Extensions 4a (SSE4a)
sse41 πŸ”’
Streaming SIMD Extensions 4.1 (SSE4.1)
sse42 πŸ”’
Streaming SIMD Extensions 4.2 (SSE4.2)
ssse3 πŸ”’
Supplemental Streaming SIMD Extensions 3 (SSSE3)
tbm πŸ”’
Trailing Bit Manipulation (TBM) instruction set.
vaes πŸ”’
Vectorized AES Instructions (VAES)
vpclmulqdq πŸ”’
Vectorized Carry-less Multiplication (VCLMUL)
xsave πŸ”’
i586’s xsave and xsaveopt target feature intrinsics

MacrosΒ§

as_transmute πŸ”’

StructsΒ§

__m128
128-bit wide set of four f32 types, x86-specific
__m256
256-bit wide set of eight f32 types, x86-specific
__m512
512-bit wide set of sixteen f32 types, x86-specific
__m128d
128-bit wide set of two f64 types, x86-specific
__m128i
128-bit wide integer vector type, x86-specific
__m256d
256-bit wide set of four f64 types, x86-specific
__m256i
256-bit wide integer vector type, x86-specific
__m512d
512-bit wide set of eight f64 types, x86-specific
__m512i
512-bit wide integer vector type, x86-specific
__m128bhExperimental
128-bit wide set of eight u16 types, x86-specific
__m128hExperimental
128-bit wide set of 8 f16 types, x86-specific
__m256bhExperimental
256-bit wide set of 16 u16 types, x86-specific
__m256hExperimental
256-bit wide set of 16 f16 types, x86-specific
__m512bhExperimental
512-bit wide set of 32 u16 types, x86-specific
__m512hExperimental
512-bit wide set of 32 f16 types, x86-specific
bf16Experimental
The BFloat16 type used in AVX-512 intrinsics.

Type AliasesΒ§

_MM_CMPINT_ENUMExperimental
The _MM_CMPINT_ENUM type used to specify comparison operations in AVX-512 intrinsics.
_MM_MANTISSA_NORM_ENUMExperimental
The MM_MANTISSA_NORM_ENUM type used to specify mantissa normalized operations in AVX-512 intrinsics.
_MM_MANTISSA_SIGN_ENUMExperimental
The MM_MANTISSA_SIGN_ENUM type used to specify mantissa signed operations in AVX-512 intrinsics.
_MM_PERM_ENUMExperimental
The MM_PERM_ENUM type used to specify shuffle operations in AVX-512 intrinsics.
__mmask8Experimental
The __mmask8 type used in AVX-512 intrinsics, a 8-bit integer
__mmask16Experimental
The __mmask16 type used in AVX-512 intrinsics, a 16-bit integer
__mmask32Experimental
The __mmask32 type used in AVX-512 intrinsics, a 32-bit integer
__mmask64Experimental
The __mmask64 type used in AVX-512 intrinsics, a 64-bit integer