[][src]Struct no_std_compat::arch::x86_64::__m64

#[repr(simd)]pub struct __m64(_);
🔬 This is a nightly-only experimental API. (stdsimd)
This is supported on x86-64 only.

64-bit wide integer vector type, x86-specific

This type is the same as the __m64 type defined by Intel, representing a 64-bit SIMD register. Usage of this type typically corresponds to the mmx target feature.

Internally this type may be viewed as:

  • i8x8 - eight i8 variables packed together
  • i16x4 - four i16 variables packed together
  • i32x2 - two i32 variables packed together

(as well as unsigned versions). Each intrinsic may interpret the internal bits differently, check the documentation of the intrinsic to see how it's being used.

Note that this means that an instance of __m64 typically just means a "bag of bits" which is left up to interpretation at the point of use.

Most intrinsics using __m64 are prefixed with _mm_ and the integer types tend to correspond to suffixes like "pi8" or "pi32" (not to be confused with "epiXX", used for __m128i).

Examples

#[cfg(target_arch = "x86")]
use std::arch::x86::*;
#[cfg(target_arch = "x86_64")]
use std::arch::x86_64::*;

let all_bytes_zero = _mm_setzero_si64();
let all_bytes_one = _mm_set1_pi8(1);
let two_i32 = _mm_set_pi32(1, 2);

Trait Implementations

impl Clone for __m64[src]

impl Copy for __m64[src]

impl Debug for __m64[src]

Auto Trait Implementations

impl Send for __m64

impl Sync for __m64

impl Unpin for __m64

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.