Struct Sse2

Source
pub struct Sse2 {
    _private: (),
}
Expand description

A token for SSE2 intrinsics on x86 and x86_64.

Fields§

§_private: ()

Implementations§

Source§

impl Sse2

Source

pub unsafe fn new_unchecked() -> Self

Create a SIMD token.

§Safety

The required CPU features must be available.

Source

pub fn _mm_pause(self)

Source

pub fn _mm_clflush(self, p: *const u8)

Source

pub fn _mm_lfence(self)

Source

pub fn _mm_mfence(self)

Source

pub fn _mm_add_epi8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_add_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_add_epi32(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_add_epi64(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_adds_epi8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_adds_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_adds_epu8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_adds_epu16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_avg_epu8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_avg_epu16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_madd_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_max_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_max_epu8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_min_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_min_epu8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_mulhi_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_mulhi_epu16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_mullo_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_mul_epu32(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_sad_epu8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_sub_epi8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_sub_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_sub_epi32(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_sub_epi64(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_subs_epi8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_subs_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_subs_epu8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_subs_epu16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_slli_si128<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_bslli_si128<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_bsrli_si128<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_slli_epi16<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_sll_epi16(self, a: __m128i, count: __m128i) -> __m128i

Source

pub fn _mm_slli_epi32<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_sll_epi32(self, a: __m128i, count: __m128i) -> __m128i

Source

pub fn _mm_slli_epi64<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_sll_epi64(self, a: __m128i, count: __m128i) -> __m128i

Source

pub fn _mm_srai_epi16<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_sra_epi16(self, a: __m128i, count: __m128i) -> __m128i

Source

pub fn _mm_srai_epi32<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_sra_epi32(self, a: __m128i, count: __m128i) -> __m128i

Source

pub fn _mm_srli_si128<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_srli_epi16<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_srl_epi16(self, a: __m128i, count: __m128i) -> __m128i

Source

pub fn _mm_srli_epi32<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_srl_epi32(self, a: __m128i, count: __m128i) -> __m128i

Source

pub fn _mm_srli_epi64<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_srl_epi64(self, a: __m128i, count: __m128i) -> __m128i

Source

pub fn _mm_and_si128(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_andnot_si128(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_or_si128(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_xor_si128(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_cmpeq_epi8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_cmpeq_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_cmpeq_epi32(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_cmpgt_epi8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_cmpgt_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_cmpgt_epi32(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_cmplt_epi8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_cmplt_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_cmplt_epi32(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_cvtepi32_pd(self, a: __m128i) -> __m128d

Source

pub fn _mm_cvtsi32_sd(self, a: __m128d, b: i32) -> __m128d

Source

pub fn _mm_cvtepi32_ps(self, a: __m128i) -> __m128

Source

pub fn _mm_cvtps_epi32(self, a: __m128) -> __m128i

Source

pub fn _mm_cvtsi32_si128(self, a: i32) -> __m128i

Source

pub fn _mm_cvtsi128_si32(self, a: __m128i) -> i32

Source

pub fn _mm_set_epi64x(self, e1: i64, e0: i64) -> __m128i

Source

pub fn _mm_set_epi32(self, e3: i32, e2: i32, e1: i32, e0: i32) -> __m128i

Source

pub fn _mm_set_epi16( self, e7: i16, e6: i16, e5: i16, e4: i16, e3: i16, e2: i16, e1: i16, e0: i16, ) -> __m128i

Source

pub fn _mm_set_epi8( self, e15: i8, e14: i8, e13: i8, e12: i8, e11: i8, e10: i8, e9: i8, e8: i8, e7: i8, e6: i8, e5: i8, e4: i8, e3: i8, e2: i8, e1: i8, e0: i8, ) -> __m128i

Source

pub fn _mm_set1_epi64x(self, a: i64) -> __m128i

Source

pub fn _mm_set1_epi32(self, a: i32) -> __m128i

Source

pub fn _mm_set1_epi16(self, a: i16) -> __m128i

Source

pub fn _mm_set1_epi8(self, a: i8) -> __m128i

Source

pub fn _mm_setr_epi32(self, e3: i32, e2: i32, e1: i32, e0: i32) -> __m128i

Source

pub fn _mm_setr_epi16( self, e7: i16, e6: i16, e5: i16, e4: i16, e3: i16, e2: i16, e1: i16, e0: i16, ) -> __m128i

Source

pub fn _mm_setr_epi8( self, e15: i8, e14: i8, e13: i8, e12: i8, e11: i8, e10: i8, e9: i8, e8: i8, e7: i8, e6: i8, e5: i8, e4: i8, e3: i8, e2: i8, e1: i8, e0: i8, ) -> __m128i

Source

pub fn _mm_setzero_si128(self) -> __m128i

Source

pub unsafe fn _mm_loadl_epi64(self, mem_addr: *const __m128i) -> __m128i

Source

pub unsafe fn _mm_load_si128(self, mem_addr: *const __m128i) -> __m128i

Source

pub unsafe fn _mm_loadu_si128(self, mem_addr: *const __m128i) -> __m128i

Source

pub unsafe fn _mm_maskmoveu_si128( self, a: __m128i, mask: __m128i, mem_addr: *mut i8, )

Source

pub unsafe fn _mm_store_si128(self, mem_addr: *mut __m128i, a: __m128i)

Source

pub unsafe fn _mm_storeu_si128(self, mem_addr: *mut __m128i, a: __m128i)

Source

pub unsafe fn _mm_storel_epi64(self, mem_addr: *mut __m128i, a: __m128i)

Source

pub unsafe fn _mm_stream_si128(self, mem_addr: *mut __m128i, a: __m128i)

Source

pub unsafe fn _mm_stream_si32(self, mem_addr: *mut i32, a: i32)

Source

pub fn _mm_move_epi64(self, a: __m128i) -> __m128i

Source

pub fn _mm_packs_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_packs_epi32(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_packus_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_extract_epi16<const IMM8: i32>(self, a: __m128i) -> i32

Source

pub fn _mm_insert_epi16<const IMM8: i32>(self, a: __m128i, i: i32) -> __m128i

Source

pub fn _mm_movemask_epi8(self, a: __m128i) -> i32

Source

pub fn _mm_shuffle_epi32<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_shufflehi_epi16<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_shufflelo_epi16<const IMM8: i32>(self, a: __m128i) -> __m128i

Source

pub fn _mm_unpackhi_epi8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_unpackhi_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_unpackhi_epi32(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_unpackhi_epi64(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_unpacklo_epi8(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_unpacklo_epi16(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_unpacklo_epi32(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_unpacklo_epi64(self, a: __m128i, b: __m128i) -> __m128i

Source

pub fn _mm_add_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_add_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_div_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_div_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_max_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_max_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_min_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_min_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_mul_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_mul_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_sqrt_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_sqrt_pd(self, a: __m128d) -> __m128d

Source

pub fn _mm_sub_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_sub_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_and_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_andnot_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_or_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_xor_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpeq_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmplt_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmple_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpgt_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpge_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpord_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpunord_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpneq_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpnlt_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpnle_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpngt_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpnge_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpeq_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmplt_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmple_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpgt_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpge_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpord_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpunord_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpneq_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpnlt_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpnle_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpngt_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_cmpnge_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_comieq_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_comilt_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_comile_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_comigt_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_comige_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_comineq_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_ucomieq_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_ucomilt_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_ucomile_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_ucomigt_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_ucomige_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_ucomineq_sd(self, a: __m128d, b: __m128d) -> i32

Source

pub fn _mm_cvtpd_ps(self, a: __m128d) -> __m128

Source

pub fn _mm_cvtps_pd(self, a: __m128) -> __m128d

Source

pub fn _mm_cvtpd_epi32(self, a: __m128d) -> __m128i

Source

pub fn _mm_cvtsd_si32(self, a: __m128d) -> i32

Source

pub fn _mm_cvtsd_ss(self, a: __m128, b: __m128d) -> __m128

Source

pub fn _mm_cvtsd_f64(self, a: __m128d) -> f64

Source

pub fn _mm_cvtss_sd(self, a: __m128d, b: __m128) -> __m128d

Source

pub fn _mm_cvttpd_epi32(self, a: __m128d) -> __m128i

Source

pub fn _mm_cvttsd_si32(self, a: __m128d) -> i32

Source

pub fn _mm_cvttps_epi32(self, a: __m128) -> __m128i

Source

pub fn _mm_set_sd(self, a: f64) -> __m128d

Source

pub fn _mm_set1_pd(self, a: f64) -> __m128d

Source

pub fn _mm_set_pd1(self, a: f64) -> __m128d

Source

pub fn _mm_set_pd(self, a: f64, b: f64) -> __m128d

Source

pub fn _mm_setr_pd(self, a: f64, b: f64) -> __m128d

Source

pub fn _mm_setzero_pd(self) -> __m128d

Source

pub fn _mm_movemask_pd(self, a: __m128d) -> i32

Source

pub unsafe fn _mm_load_pd(self, mem_addr: *const f64) -> __m128d

Source

pub unsafe fn _mm_load_sd(self, mem_addr: *const f64) -> __m128d

Source

pub unsafe fn _mm_loadh_pd(self, a: __m128d, mem_addr: *const f64) -> __m128d

Source

pub unsafe fn _mm_loadl_pd(self, a: __m128d, mem_addr: *const f64) -> __m128d

Source

pub unsafe fn _mm_stream_pd(self, mem_addr: *mut f64, a: __m128d)

Source

pub unsafe fn _mm_store_sd(self, mem_addr: *mut f64, a: __m128d)

Source

pub unsafe fn _mm_store_pd(self, mem_addr: *mut f64, a: __m128d)

Source

pub unsafe fn _mm_storeu_pd(self, mem_addr: *mut f64, a: __m128d)

Source

pub unsafe fn _mm_store1_pd(self, mem_addr: *mut f64, a: __m128d)

Source

pub unsafe fn _mm_store_pd1(self, mem_addr: *mut f64, a: __m128d)

Source

pub unsafe fn _mm_storer_pd(self, mem_addr: *mut f64, a: __m128d)

Source

pub unsafe fn _mm_storeh_pd(self, mem_addr: *mut f64, a: __m128d)

Source

pub unsafe fn _mm_storel_pd(self, mem_addr: *mut f64, a: __m128d)

Source

pub unsafe fn _mm_load1_pd(self, mem_addr: *const f64) -> __m128d

Source

pub unsafe fn _mm_load_pd1(self, mem_addr: *const f64) -> __m128d

Source

pub unsafe fn _mm_loadr_pd(self, mem_addr: *const f64) -> __m128d

Source

pub unsafe fn _mm_loadu_pd(self, mem_addr: *const f64) -> __m128d

Source

pub fn _mm_shuffle_pd<const MASK: i32>(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_move_sd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_castpd_ps(self, a: __m128d) -> __m128

Source

pub fn _mm_castpd_si128(self, a: __m128d) -> __m128i

Source

pub fn _mm_castps_pd(self, a: __m128) -> __m128d

Source

pub fn _mm_castps_si128(self, a: __m128) -> __m128i

Source

pub fn _mm_castsi128_pd(self, a: __m128i) -> __m128d

Source

pub fn _mm_castsi128_ps(self, a: __m128i) -> __m128

Source

pub fn _mm_undefined_pd(self) -> __m128d

Source

pub fn _mm_undefined_si128(self) -> __m128i

Source

pub fn _mm_unpackhi_pd(self, a: __m128d, b: __m128d) -> __m128d

Source

pub fn _mm_unpacklo_pd(self, a: __m128d, b: __m128d) -> __m128d

Trait Implementations§

Source§

impl Clone for Sse2

Source§

fn clone(&self) -> Sse2

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Sse2

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for Sse2

Auto Trait Implementations§

§

impl Freeze for Sse2

§

impl RefUnwindSafe for Sse2

§

impl Send for Sse2

§

impl Sync for Sse2

§

impl Unpin for Sse2

§

impl UnwindSafe for Sse2

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(value: T, _simd: S) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.