devela::all

Struct Arch

Source
pub struct Arch;
Expand description

Arch-related functionality.

Implementations that depend on: dep_safe_arch and (x86 or x86_64) and target features:

Implementations§

Source§

impl Arch

§Functions not requiring any target feature.


Source

pub fn byte_swap_i32(i: i32) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) only.

Swap the bytes of the given 32-bit value.

See: byte_swap_i32.

Source

pub fn byte_swap_i64(i: i64) -> i64

Available on crate feature dep_safe_arch and (x86 or x86-64) only.

Swap the bytes of the given 64-bit value.

See: byte_swap_i64.

Source

pub fn read_timestamp_counter() -> u64

Available on crate feature dep_safe_arch and (x86 or x86-64) only.

Reads the CPU’s timestamp counter value.

See: read_timestamp_counter.

Source

pub fn read_timestamp_counter_p(aux: &mut u32) -> u64

Available on crate feature dep_safe_arch and (x86 or x86-64) only.

Reads the CPU’s timestamp counter value and store the processor signature.

See: read_timestamp_counter_p.

Source§

impl Arch

§Functions requiring the sse target feature.


See: https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions

Source

pub fn add_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a + b.

See: add_m128.

Source

pub fn add_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a + b, other lanes unchanged.

See: add_m128_s.

Source

pub fn bitand_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Bitwise a & b.

See: bitand_m128.

Source

pub fn bitandnot_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Bitwise (!a) & b.

See: bitandnot_m128.

Source

pub fn bitor_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Bitwise a | b.

See: bitor_m128.

Source

pub fn bitxor_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Bitwise a ^ b.

See: bitxor_m128.

Source

pub fn cmp_eq_i32_m128_s(a: m128, b: m128) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane equality.

See: cmp_eq_i32_m128_s.

Source

pub fn cmp_eq_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a == b.

See: cmp_eq_mask_m128.

Source

pub fn cmp_eq_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a == b, other lanes unchanged.

See: cmp_eq_mask_m128_s.

Source

pub fn cmp_ge_i32_m128_s(a: m128, b: m128) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane greater than or equal to.

See: cmp_ge_i32_m128_s.

Source

pub fn cmp_ge_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a >= b.

See: cmp_ge_mask_m128.

Source

pub fn cmp_ge_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a >= b, other lanes unchanged.

See: cmp_ge_mask_m128_s.

Source

pub fn cmp_gt_i32_m128_s(a: m128, b: m128) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane greater than.

See: cmp_gt_i32_m128_s.

Source

pub fn cmp_gt_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a > b.

See: cmp_gt_mask_m128.

Source

pub fn cmp_gt_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a > b, other lanes unchanged.

See: cmp_gt_mask_m128_s.

Source

pub fn cmp_le_i32_m128_s(a: m128, b: m128) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane less than or equal to.

See: cmp_le_i32_m128_s.

Source

pub fn cmp_le_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a <= b.

See: cmp_le_mask_m128.

Source

pub fn cmp_le_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a <= b, other lanes unchanged.

See: cmp_le_mask_m128_s.

Source

pub fn cmp_lt_i32_m128_s(a: m128, b: m128) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane less than.

See: cmp_lt_i32_m128_s.

Source

pub fn cmp_lt_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a < b.

See: cmp_lt_mask_m128.

Source

pub fn cmp_lt_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a < b, other lanes unchanged.

See: cmp_lt_mask_m128_s.

Source

pub fn cmp_neq_i32_m128_s(a: m128, b: m128) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane not equal to.

See: cmp_neq_i32_m128_s.

Source

pub fn cmp_neq_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a != b.

See: cmp_neq_mask_m128.

Source

pub fn cmp_neq_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a != b, other lanes unchanged.

See: cmp_neq_mask_m128_s.

Source

pub fn cmp_nge_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise !(a >= b).

See: cmp_nge_mask_m128.

Source

pub fn cmp_nge_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane !(a >= b), other lanes unchanged.

See: cmp_nge_mask_m128_s.

Source

pub fn cmp_ngt_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise !(a > b).

See: cmp_ngt_mask_m128.

Source

pub fn cmp_ngt_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane !(a > b), other lanes unchanged.

See: cmp_ngt_mask_m128_s.

Source

pub fn cmp_nle_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise !(a <= b).

See: cmp_nle_mask_m128.

Source

pub fn cmp_nle_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane !(a <= b), other lanes unchanged.

See: cmp_nle_mask_m128_s.

Source

pub fn cmp_nlt_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise !(a < b).

See: cmp_nlt_mask_m128.

Source

pub fn cmp_nlt_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane !(a < b), other lanes unchanged.

See: cmp_nlt_mask_m128_s.

Source

pub fn cmp_ordered_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise (!a.is_nan()) & (!b.is_nan()).

See: cmp_ordered_mask_m128.

Source

pub fn cmp_ordered_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane (!a.is_nan()) & (!b.is_nan()), other lanes unchanged.

See: cmp_ordered_mask_m128_s.

Source

pub fn cmp_unord_mask_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a.is_nan() | b.is_nan().

See: cmp_unord_mask_m128.

Source

pub fn cmp_unord_mask_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a.is_nan() | b.is_nan(), other lanes unchanged.

See: cmp_unord_mask_m128_s.

Source

pub fn convert_i32_replace_m128_s(a: m128, i: i32) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Convert i32 to f32 and replace the low lane of the input.

See: convert_i32_replace_m128_s.

Source

pub fn div_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a / b.

See: div_m128.

Source

pub fn div_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a / b, other lanes unchanged.

See: div_m128_s.

Source

pub fn get_f32_from_m128_s(a: m128) -> f32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Gets the low lane as an individual f32 value.

See: get_f32_from_m128_s.

Source

pub fn get_i32_from_m128_s(a: m128) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Converts the low lane to i32 and extracts as an individual value.

See: get_i32_from_m128_s.

Source

pub fn load_f32_m128_s(a: &f32) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Loads the f32 reference into the low lane of the register.

See: load_f32_m128_s.

Source

pub fn load_f32_splat_m128(a: &f32) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Loads the f32 reference into all lanes of a register.

See: load_f32_splat_m128.

Source

pub fn load_m128(a: &m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Loads the reference into a register.

See: load_m128.

Source

pub fn load_reverse_m128(a: &m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Loads the reference into a register with reversed order.

See: load_reverse_m128.

Source

pub fn load_unaligned_m128(a: &[f32; 4]) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Loads the reference into a register.

See: load_unaligned_m128.

Source

pub fn max_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise max(a, b).

See: max_m128.

Source

pub fn max_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane max(a, b), other lanes unchanged.

See: max_m128_s.

Source

pub fn min_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise min(a, b).

See: min_m128.

Source

pub fn min_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane min(a, b), other lanes unchanged.

See: min_m128_s.

Source

pub fn move_high_low_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Move the high lanes of b to the low lanes of a, other lanes unchanged.

See: move_high_low_m128.

Source

pub fn move_low_high_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Move the low lanes of b to the high lanes of a, other lanes unchanged.

See: move_low_high_m128.

Source

pub fn move_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Move the low lane of b to a, other lanes unchanged.

See: move_m128_s.

Source

pub fn move_mask_m128(a: m128) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Gathers the sign bit of each lane.

See: move_mask_m128.

Source

pub fn mul_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a * b.

See: mul_m128.

Source

pub fn mul_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a * b, other lanes unchanged.

See: mul_m128_s.

Source

pub fn reciprocal_m128(a: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise 1.0 / a approximation.

See: reciprocal_m128.

Source

pub fn reciprocal_m128_s(a: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane 1.0 / a approximation, other lanes unchanged.

See: reciprocal_m128_s.

Source

pub fn reciprocal_sqrt_m128(a: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise 1.0 / sqrt(a) approximation.

See: reciprocal_sqrt_m128.

Source

pub fn reciprocal_sqrt_m128_s(a: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane 1.0 / sqrt(a) approximation, other lanes unchanged.

See: reciprocal_sqrt_m128_s.

Source

pub fn set_m128(three: f32, two: f32, one: f32, zero: f32) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Sets the args into an m128, first arg is the high lane.

See: set_m128.

Source

pub fn set_m128_s(low: f32) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Sets the args into an m128, first arg is the high lane.

See: set_m128_s.

Source

pub fn set_reversed_m128(zero: f32, one: f32, two: f32, three: f32) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Sets the args into an m128, first arg is the low lane.

See: set_reversed_m128.

Source

pub fn set_splat_m128(all: f32) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Splats the value to all lanes.

See: set_splat_m128.

Source

pub fn shuffle_abi_f32_all_m128<const MASK: i32>(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Shuffle the f32 lanes from $a and $b together using an immediate control value.

See: shuffle_abi_f32_all_m128.

Source

pub fn sqrt_m128(a: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise sqrt(a).

See: sqrt_m128.

Source

pub fn sqrt_m128_s(a: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane sqrt(a), other lanes unchanged.

See: sqrt_m128_s.

Source

pub fn store_m128(r: &mut m128, a: m128)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Stores the value to the reference given.

See: store_m128.

Source

pub fn store_m128_s(r: &mut f32, a: m128)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Stores the low lane value to the reference given.

See: store_m128_s.

Source

pub fn store_reverse_m128(r: &mut m128, a: m128)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Stores the value to the reference given in reverse order.

See: store_reverse_m128.

Source

pub fn store_splat_m128(r: &mut m128, a: m128)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Stores the low lane value to all lanes of the reference given.

See: store_splat_m128.

Source

pub fn store_unaligned_m128(r: &mut [f32; 4], a: m128)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Stores the value to the reference given.

See: store_unaligned_m128.

Source

pub fn sub_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Lanewise a - b.

See: sub_m128.

Source

pub fn sub_m128_s(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Low lane a - b, other lanes unchanged.

See: sub_m128_s.

Source

pub fn transpose_four_m128( a: &mut m128, b: &mut m128, c: &mut m128, d: &mut m128, )

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Transpose four m128 as if they were a 4x4 matrix.

See: transpose_four_m128.

Source

pub fn unpack_high_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Unpack and interleave high lanes of a and b.

See: unpack_high_m128.

Source

pub fn unpack_low_m128(a: m128, b: m128) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Unpack and interleave low lanes of a and b.

See: unpack_low_m128.

Source

pub fn zeroed_m128() -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

All lanes zero.

See: zeroed_m128.

Source§

impl Arch

§Generic functions requiring the sse target feature.


See: https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions

Source

pub fn prefetch_et0<T>(addr: &T)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Fetches the cache line containing addr into all levels of the cache hierarchy, anticipating write.

Source

pub fn prefetch_et1<T>(addr: &T)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Fetches into L2 and higher, anticipating write.

Source

pub fn prefetch_nta<T>(addr: &T)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Fetch data using the non-temporal access (NTA) hint.

It may be a place closer than main memory but outside of the cache hierarchy.

This is used to reduce access latency without polluting the cache.

Source

pub fn prefetch_t0<T>(addr: &T)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Fetches the cache line containing addr into all levels of the cache hierarchy.

Source

pub fn prefetch_t1<T>(addr: &T)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Fetches into L2 and higher.

Source

pub fn prefetch_t2<T>(addr: &T)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse only.

Fetches into L3 and higher or an implementation-specific choice (e.g., L2 if there is no L3).

Source§

impl Arch

§Functions requiring the sse2 target feature.


See: https://en.wikipedia.org/wiki/SSE2

Source

pub fn add_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a + b with lanes as i16.

See: add_i16_m128i.

Source

pub fn add_i32_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a + b with lanes as i32.

See: add_i32_m128i.

Source

pub fn add_i64_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a + b with lanes as i64.

See: add_i64_m128i.

Source

pub fn add_i8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a + b with lanes as i8.

See: add_i8_m128i.

Source

pub fn add_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a + b.

See: add_m128d.

Source

pub fn add_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lowest lane a + b, high lane unchanged.

See: add_m128d_s.

Source

pub fn add_saturating_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise saturating a + b with lanes as i16.

See: add_saturating_i16_m128i.

Source

pub fn add_saturating_i8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise saturating a + b with lanes as i8.

See: add_saturating_i8_m128i.

Source

pub fn add_saturating_u16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise saturating a + b with lanes as u16.

See: add_saturating_u16_m128i.

Source

pub fn add_saturating_u8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise saturating a + b with lanes as u8.

See: add_saturating_u8_m128i.

Source

pub fn average_u16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise average of the u16 values.

See: average_u16_m128i.

Source

pub fn average_u8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise average of the u8 values.

See: average_u8_m128i.

Source

pub fn bitand_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bitwise a &amp; b.

See: bitand_m128d.

Source

pub fn bitand_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bitwise a &amp; b.

See: bitand_m128i.

Source

pub fn bitandnot_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bitwise (!a) &amp; b.

See: bitandnot_m128d.

Source

pub fn bitandnot_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bitwise (!a) &amp; b.

See: bitandnot_m128i.

Source

pub fn bitor_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bitwise a | b.

See: bitor_m128d.

Source

pub fn bitor_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bitwise a | b.

See: bitor_m128i.

Source

pub fn bitxor_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bitwise a ^ b.

See: bitxor_m128d.

Source

pub fn bitxor_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bitwise a ^ b.

See: bitxor_m128i.

Source

pub fn byte_shl_imm_u128_m128i<const IMM: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shifts all bits in the entire register left by a number of bytes.

See: byte_shl_imm_u128_m128i.

Source

pub fn byte_shr_imm_u128_m128i<const IMM: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shifts all bits in the entire register right by a number of bytes.

See: byte_shr_imm_u128_m128i.

Source

pub fn cast_to_m128_from_m128d(a: m128d) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bit-preserving cast to m128 from m128d

See: cast_to_m128_from_m128d.

Source

pub fn cast_to_m128_from_m128i(a: m128i) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bit-preserving cast to m128 from m128i

See: cast_to_m128_from_m128i.

Source

pub fn cast_to_m128d_from_m128(a: m128) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bit-preserving cast to m128d from m128

See: cast_to_m128d_from_m128.

Source

pub fn cast_to_m128d_from_m128i(a: m128i) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bit-preserving cast to m128d from m128i

See: cast_to_m128d_from_m128i.

Source

pub fn cast_to_m128i_from_m128(a: m128) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bit-preserving cast to m128i from m128

See: cast_to_m128i_from_m128.

Source

pub fn cast_to_m128i_from_m128d(a: m128d) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Bit-preserving cast to m128i from m128d

See: cast_to_m128i_from_m128d.

Source

pub fn cmp_eq_i32_m128d_s(a: m128d, b: m128d) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane f64 equal to.

See: cmp_eq_i32_m128d_s.

Source

pub fn cmp_eq_mask_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a == b with lanes as i16.

See: cmp_eq_mask_i16_m128i.

Source

pub fn cmp_eq_mask_i32_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a == b with lanes as i32.

See: cmp_eq_mask_i32_m128i.

Source

pub fn cmp_eq_mask_i8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a == b with lanes as i8.

See: cmp_eq_mask_i8_m128i.

Source

pub fn cmp_eq_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a == b, mask output.

See: cmp_eq_mask_m128d.

Source

pub fn cmp_eq_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane a == b, other lanes unchanged.

See: cmp_eq_mask_m128d_s.

Source

pub fn cmp_ge_i32_m128d_s(a: m128d, b: m128d) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane f64 greater than or equal to.

See: cmp_ge_i32_m128d_s.

Source

pub fn cmp_ge_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a &gt;= b.

See: cmp_ge_mask_m128d.

Source

pub fn cmp_ge_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane a &gt;= b, other lanes unchanged.

See: cmp_ge_mask_m128d_s.

Source

pub fn cmp_gt_i32_m128d_s(a: m128d, b: m128d) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane f64 greater than.

See: cmp_gt_i32_m128d_s.

Source

pub fn cmp_gt_mask_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a &gt; b with lanes as i16.

See: cmp_gt_mask_i16_m128i.

Source

pub fn cmp_gt_mask_i32_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a &gt; b with lanes as i32.

See: cmp_gt_mask_i32_m128i.

Source

pub fn cmp_gt_mask_i8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a &gt; b with lanes as i8.

See: cmp_gt_mask_i8_m128i.

Source

pub fn cmp_gt_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a &gt; b.

See: cmp_gt_mask_m128d.

Source

pub fn cmp_gt_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane a &gt; b, other lanes unchanged.

See: cmp_gt_mask_m128d_s.

Source

pub fn cmp_le_i32_m128d_s(a: m128d, b: m128d) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane f64 less than or equal to.

See: cmp_le_i32_m128d_s.

Source

pub fn cmp_le_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a &lt;= b.

See: cmp_le_mask_m128d.

Source

pub fn cmp_le_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane a &lt;= b, other lanes unchanged.

See: cmp_le_mask_m128d_s.

Source

pub fn cmp_lt_i32_m128d_s(a: m128d, b: m128d) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane f64 less than.

See: cmp_lt_i32_m128d_s.

Source

pub fn cmp_lt_mask_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a &lt; b with lanes as i16.

See: cmp_lt_mask_i16_m128i.

Source

pub fn cmp_lt_mask_i32_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a &lt; b with lanes as i32.

See: cmp_lt_mask_i32_m128i.

Source

pub fn cmp_lt_mask_i8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a &lt; b with lanes as i8.

See: cmp_lt_mask_i8_m128i.

Source

pub fn cmp_lt_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a &lt; b.

See: cmp_lt_mask_m128d.

Source

pub fn cmp_lt_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane a &lt; b, other lane unchanged.

See: cmp_lt_mask_m128d_s.

Source

pub fn cmp_neq_i32_m128d_s(a: m128d, b: m128d) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane f64 less than.

See: cmp_neq_i32_m128d_s.

Source

pub fn cmp_neq_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a != b.

See: cmp_neq_mask_m128d.

Source

pub fn cmp_neq_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane a != b, other lane unchanged.

See: cmp_neq_mask_m128d_s.

Source

pub fn cmp_nge_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise !(a &gt;= b).

See: cmp_nge_mask_m128d.

Source

pub fn cmp_nge_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane !(a &gt;= b), other lane unchanged.

See: cmp_nge_mask_m128d_s.

Source

pub fn cmp_ngt_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise !(a &gt; b).

See: cmp_ngt_mask_m128d.

Source

pub fn cmp_ngt_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane !(a &gt; b), other lane unchanged.

See: cmp_ngt_mask_m128d_s.

Source

pub fn cmp_nle_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise !(a &lt;= b).

See: cmp_nle_mask_m128d.

Source

pub fn cmp_nle_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane !(a &lt;= b), other lane unchanged.

See: cmp_nle_mask_m128d_s.

Source

pub fn cmp_nlt_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise !(a &lt; b).

See: cmp_nlt_mask_m128d.

Source

pub fn cmp_nlt_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane !(a &lt; b), other lane unchanged.

See: cmp_nlt_mask_m128d_s.

Source

pub fn cmp_ordered_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise (!a.is_nan()) &amp; (!b.is_nan()).

See: cmp_ordered_mask_m128d.

Source

pub fn cmp_ordered_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane (!a.is_nan()) &amp; (!b.is_nan()), other lane unchanged.

See: cmp_ordered_mask_m128d_s.

Source

pub fn cmp_unord_mask_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a.is_nan() | b.is_nan().

See: cmp_unord_mask_m128d.

Source

pub fn cmp_unord_mask_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane a.is_nan() | b.is_nan(), other lane unchanged.

See: cmp_unord_mask_m128d_s.

Source

pub fn convert_i32_replace_m128d_s(a: m128d, i: i32) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Convert i32 to f64 and replace the low lane of the input.

See: convert_i32_replace_m128d_s.

Source

pub fn convert_i64_replace_m128d_s(a: m128d, i: i64) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Convert i64 to f64 and replace the low lane of the input.

See: convert_i64_replace_m128d_s.

Source

pub fn convert_m128_s_replace_m128d_s(a: m128d, b: m128) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Converts the lower f32 to f64 and replace the low lane of the input

See: convert_m128_s_replace_m128d_s.

Source

pub fn convert_m128d_s_replace_m128_s(a: m128, b: m128d) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Converts the low f64 to f32 and replaces the low lane of the input.

See: convert_m128d_s_replace_m128_s.

Source

pub fn convert_to_i32_m128i_from_m128(a: m128) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Rounds the f32 lanes to i32 lanes.

See: convert_to_i32_m128i_from_m128.

Source

pub fn convert_to_i32_m128i_from_m128d(a: m128d) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Rounds the two f64 lanes to the low two i32 lanes.

See: convert_to_i32_m128i_from_m128d.

Source

pub fn convert_to_m128_from_i32_m128i(a: m128i) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Rounds the four i32 lanes to four f32 lanes.

See: convert_to_m128_from_i32_m128i.

Source

pub fn convert_to_m128_from_m128d(a: m128d) -> m128

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Rounds the two f64 lanes to the low two f32 lanes.

See: convert_to_m128_from_m128d.

Source

pub fn convert_to_m128d_from_lower2_i32_m128i(a: m128i) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Rounds the lower two i32 lanes to two f64 lanes.

See: convert_to_m128d_from_lower2_i32_m128i.

Source

pub fn convert_to_m128d_from_lower2_m128(a: m128) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Rounds the two f64 lanes to the low two f32 lanes.

See: convert_to_m128d_from_lower2_m128.

Source

pub fn copy_i64_m128i_s(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Copy the low i64 lane to a new register, upper bits 0.

See: copy_i64_m128i_s.

Source

pub fn copy_replace_low_f64_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Copies the a value and replaces the low lane with the low b value.

See: copy_replace_low_f64_m128d.

Source

pub fn div_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a / b.

See: div_m128d.

Source

pub fn div_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lowest lane a / b, high lane unchanged.

See: div_m128d_s.

Source

pub fn extract_i16_as_i32_m128i<const LANE: i32>(a: m128i) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Gets an i16 value out of an m128i, returns as i32.

See: extract_i16_as_i32_m128i.

Source

pub fn get_f64_from_m128d_s(a: m128d) -> f64

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Gets the lower lane as an f64 value.

See: get_f64_from_m128d_s.

Source

pub fn get_i32_from_m128d_s(a: m128d) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Converts the lower lane to an i32 value.

See: get_i32_from_m128d_s.

Source

pub fn get_i32_from_m128i_s(a: m128i) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Converts the lower lane to an i32 value.

See: get_i32_from_m128i_s.

Source

pub fn get_i64_from_m128d_s(a: m128d) -> i64

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Converts the lower lane to an i64 value.

See: get_i64_from_m128d_s.

Source

pub fn get_i64_from_m128i_s(a: m128i) -> i64

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Converts the lower lane to an i64 value.

See: get_i64_from_m128i_s.

Source

pub fn insert_i16_from_i32_m128i<const LANE: i32>(a: m128i, i: i32) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Inserts the low 16 bits of an i32 value into an m128i.

See: insert_i16_from_i32_m128i.

Source

pub fn load_f64_m128d_s(a: &f64) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Loads the reference into the low lane of the register.

See: load_f64_m128d_s.

Source

pub fn load_f64_splat_m128d(a: &f64) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Loads the f64 reference into all lanes of a register.

See: load_f64_splat_m128d.

Source

pub fn load_i64_m128i_s(a: &m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Loads the low i64 into a register.

See: load_i64_m128i_s.

Source

pub fn load_m128d(a: &m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Loads the reference into a register.

See: load_m128d.

Source

pub fn load_m128i(a: &m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Loads the reference into a register.

See: load_m128i.

Source

pub fn load_replace_high_m128d(a: m128d, b: &f64) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Loads the reference into a register, replacing the high lane.

See: load_replace_high_m128d.

Source

pub fn load_replace_low_m128d(a: m128d, b: &f64) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Loads the reference into a register, replacing the low lane.

See: load_replace_low_m128d.

Source

pub fn load_reverse_m128d(a: &m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Loads the reference into a register with reversed order.

See: load_reverse_m128d.

Source

pub fn load_unaligned_m128d(a: &[f64; 2]) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Loads the reference into a register.

See: load_unaligned_m128d.

Source

pub fn load_unaligned_m128i(a: &[u8; 16]) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Loads the reference into a register.

See: load_unaligned_m128i.

Source

pub fn max_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise max(a, b) with lanes as i16.

See: max_i16_m128i.

Source

pub fn max_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise max(a, b).

See: max_m128d.

Source

pub fn max_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane max(a, b), other lanes unchanged.

See: max_m128d_s.

Source

pub fn max_u8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise max(a, b) with lanes as u8.

See: max_u8_m128i.

Source

pub fn min_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise min(a, b) with lanes as i16.

See: min_i16_m128i.

Source

pub fn min_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise min(a, b).

See: min_m128d.

Source

pub fn min_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane min(a, b), other lanes unchanged.

See: min_m128d_s.

Source

pub fn min_u8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise min(a, b) with lanes as u8.

See: min_u8_m128i.

Source

pub fn move_mask_i8_m128i(a: m128i) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Gathers the i8 sign bit of each lane.

See: move_mask_i8_m128i.

Source

pub fn move_mask_m128d(a: m128d) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Gathers the sign bit of each lane.

See: move_mask_m128d.

Source

pub fn mul_i16_horizontal_add_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Multiply i16 lanes producing i32 values, horizontal add pairs of i32 values to produce the final output.

See: mul_i16_horizontal_add_m128i.

Source

pub fn mul_i16_keep_high_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a * b with lanes as i16, keep the high bits of the i32 intermediates.

See: mul_i16_keep_high_m128i.

Source

pub fn mul_i16_keep_low_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a * b with lanes as i16, keep the low bits of the i32 intermediates.

See: mul_i16_keep_low_m128i.

Source

pub fn mul_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a * b.

See: mul_m128d.

Source

pub fn mul_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lowest lane a * b, high lane unchanged.

See: mul_m128d_s.

Source

pub fn mul_u16_keep_high_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a * b with lanes as u16, keep the high bits of the u32 intermediates.

See: mul_u16_keep_high_m128i.

Source

pub fn mul_widen_u32_odd_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Multiplies the odd u32 lanes and gives the widened (u64) results.

See: mul_widen_u32_odd_m128i.

Source

pub fn pack_i16_to_i8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Saturating convert i16 to i8, and pack the values.

See: pack_i16_to_i8_m128i.

Source

pub fn pack_i16_to_u8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Saturating convert i16 to u8, and pack the values.

See: pack_i16_to_u8_m128i.

Source

pub fn pack_i32_to_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Saturating convert i32 to i16, and pack the values.

See: pack_i32_to_i16_m128i.

Source

pub fn set_i16_m128i( a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16, ) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Sets the args into an m128i, first arg is the high lane.

See: set_i16_m128i.

Source

pub fn set_i32_m128i(a: i32, b: i32, c: i32, d: i32) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Sets the args into an m128i, first arg is the high lane.

See: set_i32_m128i.

Source

pub fn set_i32_m128i_s(i: i32) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Set an i32 as the low 32-bit lane of an m128i, other lanes blank.

See: set_i32_m128i_s.

Source

pub fn set_i64_m128i(a: i64, b: i64) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Sets the args into an m128i, first arg is the high lane.

See: set_i64_m128i.

Source

pub fn set_i64_m128i_s(i: i64) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Set an i64 as the low 64-bit lane of an m128i, other lanes blank.

See: set_i64_m128i_s.

Source

pub fn set_i8_m128i( a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8, ) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Sets the args into an m128i, first arg is the high lane.

See: set_i8_m128i.

Source

pub fn set_m128d(a: f64, b: f64) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Sets the args into an m128d, first arg is the high lane.

See: set_m128d.

Source

pub fn set_m128d_s(a: f64) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Sets the args into the low lane of a m128d.

See: set_m128d_s.

Source

pub fn set_reversed_i16_m128i( a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16, ) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Sets the args into an m128i, first arg is the low lane.

See: set_reversed_i16_m128i.

Source

pub fn set_reversed_i32_m128i(a: i32, b: i32, c: i32, d: i32) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Sets the args into an m128i, first arg is the low lane.

See: set_reversed_i32_m128i.

Source

pub fn set_reversed_i8_m128i( a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8, ) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Sets the args into an m128i, first arg is the low lane.

See: set_reversed_i8_m128i.

Source

pub fn set_reversed_m128d(a: f64, b: f64) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Sets the args into an m128d, first arg is the low lane.

See: set_reversed_m128d.

Source

pub fn set_splat_i16_m128i(i: i16) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Splats the i16 to all lanes of the m128i.

See: set_splat_i16_m128i.

Source

pub fn set_splat_i32_m128i(i: i32) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Splats the i32 to all lanes of the m128i.

See: set_splat_i32_m128i.

Source

pub fn set_splat_i64_m128i(i: i64) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Splats the i64 to both lanes of the m128i.

See: set_splat_i64_m128i.

Source

pub fn set_splat_i8_m128i(i: i8) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Splats the i8 to all lanes of the m128i.

See: set_splat_i8_m128i.

Source

pub fn set_splat_m128d(a: f64) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Splats the args into both lanes of the m128d.

See: set_splat_m128d.

Source

pub fn shl_all_u16_m128i(a: m128i, count: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shift all u16 lanes to the left by the count in the lower u64 lane.

See: shl_all_u16_m128i.

Source

pub fn shl_all_u32_m128i(a: m128i, count: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shift all u32 lanes to the left by the count in the lower u64 lane.

See: shl_all_u32_m128i.

Source

pub fn shl_all_u64_m128i(a: m128i, count: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shift all u64 lanes to the left by the count in the lower u64 lane.

See: shl_all_u64_m128i.

Source

pub fn shl_imm_u16_m128i<const IMM: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shifts all u16 lanes left by an immediate.

See: shl_imm_u16_m128i.

Source

pub fn shl_imm_u32_m128i<const IMM: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shifts all u32 lanes left by an immediate.

See: shl_imm_u32_m128i.

Source

pub fn shl_imm_u64_m128i<const IMM: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shifts both u64 lanes left by an immediate.

See: shl_imm_u64_m128i.

Source

pub fn shr_all_i16_m128i(a: m128i, count: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shift each i16 lane to the right by the count in the lower i64 lane.

See: shr_all_i16_m128i.

Source

pub fn shr_all_i32_m128i(a: m128i, count: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shift each i32 lane to the right by the count in the lower i64 lane.

See: shr_all_i32_m128i.

Source

pub fn shr_all_u16_m128i(a: m128i, count: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shift each u16 lane to the right by the count in the lower u64 lane.

See: shr_all_u16_m128i.

Source

pub fn shr_all_u32_m128i(a: m128i, count: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shift each u32 lane to the right by the count in the lower u64 lane.

See: shr_all_u32_m128i.

Source

pub fn shr_all_u64_m128i(a: m128i, count: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shift each u64 lane to the right by the count in the lower u64 lane.

See: shr_all_u64_m128i.

Source

pub fn shr_imm_i16_m128i<const IMM: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shifts all i16 lanes right by an immediate.

See: shr_imm_i16_m128i.

Source

pub fn shr_imm_i32_m128i<const IMM: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shifts all i32 lanes right by an immediate.

See: shr_imm_i32_m128i.

Source

pub fn shr_imm_u16_m128i<const IMM: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shifts all u16 lanes right by an immediate.

See: shr_imm_u16_m128i.

Source

pub fn shr_imm_u32_m128i<const IMM: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shifts all u32 lanes right by an immediate.

See: shr_imm_u32_m128i.

Source

pub fn shr_imm_u64_m128i<const IMM: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shifts both u64 lanes right by an immediate.

See: shr_imm_u64_m128i.

Source

pub fn shuffle_abi_f64_all_m128d<const MASK: i32>(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shuffle the f64 lanes from $a and $b together using an immediate control value.

See: shuffle_abi_f64_all_m128d.

Source

pub fn shuffle_ai_f32_all_m128i<const MASK: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shuffle the i32 lanes in $a using an immediate control value.

See: shuffle_ai_f32_all_m128i.

Source

pub fn shuffle_ai_i16_h64all_m128i<const MASK: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shuffle the high i16 lanes in $a using an immediate control value.

See: shuffle_ai_i16_h64all_m128i.

Source

pub fn shuffle_ai_i16_l64all_m128i<const MASK: i32>(a: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Shuffle the low i16 lanes in $a using an immediate control value.

See: shuffle_ai_i16_l64all_m128i.

Source

pub fn sqrt_m128d(a: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise sqrt(a).

See: sqrt_m128d.

Source

pub fn sqrt_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Low lane sqrt(b), upper lane is unchanged from a.

See: sqrt_m128d_s.

Source

pub fn store_high_m128d_s(r: &mut f64, a: m128d)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Stores the high lane value to the reference given.

See: store_high_m128d_s.

Source

pub fn store_i64_m128i_s(r: &mut i64, a: m128i)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Stores the value to the reference given.

See: store_i64_m128i_s.

Source

pub fn store_m128d(r: &mut m128d, a: m128d)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Stores the value to the reference given.

See: store_m128d.

Source

pub fn store_m128d_s(r: &mut f64, a: m128d)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Stores the low lane value to the reference given.

See: store_m128d_s.

Source

pub fn store_m128i(r: &mut m128i, a: m128i)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Stores the value to the reference given.

See: store_m128i.

Source

pub fn store_reversed_m128d(r: &mut m128d, a: m128d)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Stores the value to the reference given.

See: store_reversed_m128d.

Source

pub fn store_splat_m128d(r: &mut m128d, a: m128d)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Stores the low lane value to all lanes of the reference given.

See: store_splat_m128d.

Source

pub fn store_unaligned_m128d(r: &mut [f64; 2], a: m128d)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Stores the value to the reference given.

See: store_unaligned_m128d.

Source

pub fn store_unaligned_m128i(r: &mut [u8; 16], a: m128i)

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Stores the value to the reference given.

See: store_unaligned_m128i.

Source

pub fn sub_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a - b with lanes as i16.

See: sub_i16_m128i.

Source

pub fn sub_i32_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a - b with lanes as i32.

See: sub_i32_m128i.

Source

pub fn sub_i64_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a - b with lanes as i64.

See: sub_i64_m128i.

Source

pub fn sub_i8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a - b with lanes as i8.

See: sub_i8_m128i.

Source

pub fn sub_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise a - b.

See: sub_m128d.

Source

pub fn sub_m128d_s(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lowest lane a - b, high lane unchanged.

See: sub_m128d_s.

Source

pub fn sub_saturating_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise saturating a - b with lanes as i16.

See: sub_saturating_i16_m128i.

Source

pub fn sub_saturating_i8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise saturating a - b with lanes as i8.

See: sub_saturating_i8_m128i.

Source

pub fn sub_saturating_u16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise saturating a - b with lanes as u16.

See: sub_saturating_u16_m128i.

Source

pub fn sub_saturating_u8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Lanewise saturating a - b with lanes as u8.

See: sub_saturating_u8_m128i.

Source

pub fn sum_of_u8_abs_diff_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Compute “sum of u8 absolute differences”.

See: sum_of_u8_abs_diff_m128i.

Source

pub fn truncate_m128_to_m128i(a: m128) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Truncate the f32 lanes to i32 lanes.

See: truncate_m128_to_m128i.

Source

pub fn truncate_m128d_to_m128i(a: m128d) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Truncate the f64 lanes to the lower i32 lanes (upper i32 lanes 0).

See: truncate_m128d_to_m128i.

Source

pub fn truncate_to_i32_m128d_s(a: m128d) -> i32

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Truncate the lower lane into an i32.

See: truncate_to_i32_m128d_s.

Source

pub fn truncate_to_i64_m128d_s(a: m128d) -> i64

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Truncate the lower lane into an i64.

See: truncate_to_i64_m128d_s.

Source

pub fn unpack_high_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Unpack and interleave high i16 lanes of a and b.

See: unpack_high_i16_m128i.

Source

pub fn unpack_high_i32_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Unpack and interleave high i32 lanes of a and b.

See: unpack_high_i32_m128i.

Source

pub fn unpack_high_i64_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Unpack and interleave high i64 lanes of a and b.

See: unpack_high_i64_m128i.

Source

pub fn unpack_high_i8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Unpack and interleave high i8 lanes of a and b.

See: unpack_high_i8_m128i.

Source

pub fn unpack_high_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Unpack and interleave high lanes of a and b.

See: unpack_high_m128d.

Source

pub fn unpack_low_i16_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Unpack and interleave low i16 lanes of a and b.

See: unpack_low_i16_m128i.

Source

pub fn unpack_low_i32_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Unpack and interleave low i32 lanes of a and b.

See: unpack_low_i32_m128i.

Source

pub fn unpack_low_i64_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Unpack and interleave low i64 lanes of a and b.

See: unpack_low_i64_m128i.

Source

pub fn unpack_low_i8_m128i(a: m128i, b: m128i) -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Unpack and interleave low i8 lanes of a and b.

See: unpack_low_i8_m128i.

Source

pub fn unpack_low_m128d(a: m128d, b: m128d) -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Unpack and interleave low lanes of a and b.

See: unpack_low_m128d.

Source

pub fn zeroed_m128d() -> m128d

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

Both lanes zero.

See: zeroed_m128d.

Source

pub fn zeroed_m128i() -> m128i

Available on crate feature dep_safe_arch and (x86 or x86-64) and target feature sse2 only.

All lanes zero.

See: zeroed_m128i.

Auto Trait Implementations§

§

impl Freeze for Arch

§

impl RefUnwindSafe for Arch

§

impl Send for Arch

§

impl Sync for Arch

§

impl Unpin for Arch

§

impl UnwindSafe for Arch

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
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
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> ByteSized for T

Source§

const BYTE_ALIGN: usize = _

The alignment of this type in bytes.
Source§

const BYTE_SIZE: usize = _

The size of this type in bytes.
Source§

fn byte_align(&self) -> usize

Returns the alignment of this type in bytes.
Source§

fn byte_size(&self) -> usize

Returns the size of this type in bytes. Read more
Source§

fn ptr_size_ratio(&self) -> [usize; 2]

Returns the size ratio between Ptr::BYTES and BYTE_SIZE. Read more
Source§

impl<T, R> Chain<R> for T
where T: ?Sized,

Source§

fn chain<F>(self, f: F) -> R
where F: FnOnce(Self) -> R, Self: Sized,

Chain a function which takes the parameter by value.
Source§

fn chain_ref<F>(&self, f: F) -> R
where F: FnOnce(&Self) -> R,

Chain a function which takes the parameter by shared reference.
Source§

fn chain_mut<F>(&mut self, f: F) -> R
where F: FnOnce(&mut Self) -> R,

Chain a function which takes the parameter by exclusive reference.
Source§

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

Source§

fn type_id() -> TypeId

Returns the TypeId of Self. Read more
Source§

fn type_of(&self) -> TypeId

Returns the TypeId of self. Read more
Source§

fn type_name(&self) -> &'static str

Returns the type name of self. Read more
Source§

fn type_is<T: 'static>(&self) -> bool

Returns true if Self is of type T. Read more
Source§

fn as_any_ref(&self) -> &dyn Any
where Self: Sized,

Upcasts &self as &dyn Any. Read more
Source§

fn as_any_mut(&mut self) -> &mut dyn Any
where Self: Sized,

Upcasts &mut self as &mut dyn Any. Read more
Source§

fn as_any_box(self: Box<Self>) -> Box<dyn Any>
where Self: Sized,

Upcasts Box<self> as Box<dyn Any>. Read more
Source§

fn downcast_ref<T: 'static>(&self) -> Option<&T>

Available on crate feature unsafe_layout only.
Returns some shared reference to the inner value if it is of type T. Read more
Source§

fn downcast_mut<T: 'static>(&mut self) -> Option<&mut T>

Available on crate feature unsafe_layout only.
Returns some exclusive reference to the inner value if it is of type T. Read more
Source§

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

Source§

const NEEDS_DROP: bool = _

Know whether dropping values of this type matters, in compile-time.
Source§

fn mem_align_of<T>() -> usize

Returns the minimum alignment of the type in bytes. Read more
Source§

fn mem_align_of_val(&self) -> usize

Returns the alignment of the pointed-to value in bytes. Read more
Source§

fn mem_size_of<T>() -> usize

Returns the size of a type in bytes. Read more
Source§

fn mem_size_of_val(&self) -> usize

Returns the size of the pointed-to value in bytes. Read more
Source§

fn mem_copy(&self) -> Self
where Self: Copy,

Bitwise-copies a value. Read more
Source§

fn mem_needs_drop(&self) -> bool

Returns true if dropping values of this type matters. Read more
Source§

fn mem_drop(self)
where Self: Sized,

Drops self by running its destructor. Read more
Source§

fn mem_forget(self)
where Self: Sized,

Forgets about self without running its destructor. Read more
Source§

fn mem_replace(&mut self, other: Self) -> Self
where Self: Sized,

Replaces self with other, returning the previous value of self. Read more
Source§

fn mem_take(&mut self) -> Self
where Self: Default,

Replaces self with its default value, returning the previous value of self. Read more
Source§

fn mem_swap(&mut self, other: &mut Self)
where Self: Sized,

Swaps the value of self and other without deinitializing either one. Read more
Source§

unsafe fn mem_zeroed<T>() -> T

Available on crate feature unsafe_layout only.
Returns the value of type T represented by the all-zero byte-pattern. Read more
Source§

unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst

Available on crate feature unsafe_layout only.
Returns the value of type T represented by the all-zero byte-pattern. Read more
Source§

fn mem_as_bytes(&self) -> &[u8]
where Self: Sync + Unpin,

Available on crate feature unsafe_slice only.
View a Sync + Unpin self as &[u8]. Read more
Source§

fn mem_as_bytes_mut(&mut self) -> &mut [u8]
where Self: Sync + Unpin,

Available on crate feature unsafe_slice only.
View a Sync + Unpin self as &mut [u8]. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

Source§

impl<T> Hook for T

Source§

fn hook_ref<F>(self, f: F) -> Self
where F: FnOnce(&Self),

Applies a function which takes the parameter by shared reference, and then returns the (possibly) modified owned value. Read more
Source§

fn hook_mut<F>(self, f: F) -> Self
where F: FnOnce(&mut Self),

Applies a function which takes the parameter by exclusive reference, and then returns the (possibly) modified owned value. Read more
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<F, T> IntoSample<T> for F
where T: FromSample<F>,

§

fn into_sample(self) -> T

§

impl<T> LayoutRaw for T

§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Metadata = ()

The metadata type for pointers and references to this type.
§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

§

fn to_sample_(self) -> U

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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,

§

impl<T> Ungil for T
where T: Send,