diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
commit | 8dd16259287f58f9273002717ec4d27e97127719 (patch) | |
tree | 3863e62a53829a84037444beab3abd4ed9dfc7d0 /third_party/rust/packed_simd/src/api.rs | |
parent | Releasing progress-linux version 126.0.1-1~progress7.99u1. (diff) | |
download | firefox-8dd16259287f58f9273002717ec4d27e97127719.tar.xz firefox-8dd16259287f58f9273002717ec4d27e97127719.zip |
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/packed_simd/src/api.rs')
-rw-r--r-- | third_party/rust/packed_simd/src/api.rs | 309 |
1 files changed, 0 insertions, 309 deletions
diff --git a/third_party/rust/packed_simd/src/api.rs b/third_party/rust/packed_simd/src/api.rs deleted file mode 100644 index 262fc4ee69..0000000000 --- a/third_party/rust/packed_simd/src/api.rs +++ /dev/null @@ -1,309 +0,0 @@ -//! Implements the Simd<[T; N]> APIs - -#[macro_use] -mod bitmask; -pub(crate) mod cast; -#[macro_use] -mod cmp; -#[macro_use] -mod default; -#[macro_use] -mod fmt; -#[macro_use] -mod from; -#[macro_use] -mod hash; -#[macro_use] -mod math; -#[macro_use] -mod minimal; -#[macro_use] -mod ops; -#[macro_use] -mod ptr; -#[macro_use] -mod reductions; -#[macro_use] -mod select; -#[macro_use] -mod shuffle; -#[macro_use] -mod shuffle1_dyn; -#[macro_use] -mod slice; -#[macro_use] -mod swap_bytes; -#[macro_use] -mod bit_manip; - -#[cfg(feature = "into_bits")] -pub(crate) mod into_bits; - -macro_rules! impl_i { - ([$elem_ty:ident; $elem_n:expr]: $tuple_id:ident, $mask_ty:ident - | $ielem_ty:ident, $ibitmask_ty:ident | $test_tt:tt | $($elem_ids:ident),* - | From: $($from_vec_ty:ident),* | $(#[$doc:meta])*) => { - impl_minimal_iuf!([$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - | $($elem_ids),* | $(#[$doc])*); - impl_ops_vector_arithmetic!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_scalar_arithmetic!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_vector_bitwise!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (!(0 as $elem_ty), 0) - ); - impl_ops_scalar_bitwise!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (!(0 as $elem_ty), 0) - ); - impl_ops_vector_shifts!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_scalar_shifts!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_vector_rotates!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_vector_neg!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_vector_int_min_max!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt - ); - impl_reduction_integer_arithmetic!( - [$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - ); - impl_reduction_min_max!( - [$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - ); - impl_reduction_bitwise!( - [$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - | (|x|{ x as $elem_ty }) | (!(0 as $elem_ty), 0) - ); - impl_fmt_debug!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_fmt_lower_hex!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_fmt_upper_hex!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_fmt_octal!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_fmt_binary!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_from_array!([$elem_ty; $elem_n]: $tuple_id | $test_tt | (1, 1)); - impl_from_vectors!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | $($from_vec_ty),* - ); - impl_default!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_hash!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_slice_from_slice!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_slice_write_to_slice!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_swap_bytes!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_bit_manip!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_shuffle1_dyn!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_cmp_partial_eq!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (0, 1) - ); - impl_cmp_eq!([$elem_ty; $elem_n]: $tuple_id | $test_tt | (0, 1)); - impl_cmp_vertical!( - [$elem_ty; $elem_n]: $tuple_id, $mask_ty, false, (1, 0) | $test_tt - ); - impl_cmp_partial_ord!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_cmp_ord!([$elem_ty; $elem_n]: $tuple_id | $test_tt | (0, 1)); - impl_bitmask!($tuple_id | $ibitmask_ty | (-1, 0) | $test_tt); - - test_select!($elem_ty, $mask_ty, $tuple_id, (1, 2) | $test_tt); - test_cmp_partial_ord_int!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - test_shuffle1_dyn!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - } -} - -macro_rules! impl_u { - ([$elem_ty:ident; $elem_n:expr]: $tuple_id:ident, $mask_ty:ident - | $ielem_ty:ident, $ibitmask_ty:ident | $test_tt:tt | $($elem_ids:ident),* - | From: $($from_vec_ty:ident),* | $(#[$doc:meta])*) => { - impl_minimal_iuf!([$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - | $($elem_ids),* | $(#[$doc])*); - impl_ops_vector_arithmetic!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_scalar_arithmetic!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_vector_bitwise!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (!(0 as $elem_ty), 0) - ); - impl_ops_scalar_bitwise!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (!(0 as $elem_ty), 0) - ); - impl_ops_vector_shifts!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_scalar_shifts!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_vector_rotates!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_vector_int_min_max!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt - ); - impl_reduction_integer_arithmetic!( - [$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - ); - impl_reduction_min_max!( - [$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - ); - impl_reduction_bitwise!( - [$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - | (|x|{ x as $elem_ty }) | (!(0 as $elem_ty), 0) - ); - impl_fmt_debug!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_fmt_lower_hex!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_fmt_upper_hex!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_fmt_octal!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_fmt_binary!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_from_array!([$elem_ty; $elem_n]: $tuple_id | $test_tt | (1, 1)); - impl_from_vectors!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | $($from_vec_ty),* - ); - impl_default!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_hash!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_slice_from_slice!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_slice_write_to_slice!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_swap_bytes!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_bit_manip!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_shuffle1_dyn!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_cmp_partial_eq!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (1, 0) - ); - impl_cmp_eq!([$elem_ty; $elem_n]: $tuple_id | $test_tt | (0, 1)); - impl_cmp_vertical!( - [$elem_ty; $elem_n]: $tuple_id, $mask_ty, false, (1, 0) | $test_tt - ); - impl_cmp_partial_ord!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_cmp_ord!([$elem_ty; $elem_n]: $tuple_id | $test_tt | (0, 1)); - impl_bitmask!($tuple_id | $ibitmask_ty | ($ielem_ty::max_value(), 0) | - $test_tt); - - test_select!($elem_ty, $mask_ty, $tuple_id, (1, 2) | $test_tt); - test_cmp_partial_ord_int!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - test_shuffle1_dyn!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - } -} - -macro_rules! impl_f { - ([$elem_ty:ident; $elem_n:expr]: $tuple_id:ident, $mask_ty:ident - | $ielem_ty:ident | $test_tt:tt | $($elem_ids:ident),* - | From: $($from_vec_ty:ident),* | $(#[$doc:meta])*) => { - impl_minimal_iuf!([$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - | $($elem_ids),* | $(#[$doc])*); - impl_ops_vector_arithmetic!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_scalar_arithmetic!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_vector_neg!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_ops_vector_float_min_max!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt - ); - impl_reduction_float_arithmetic!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_reduction_min_max!( - [$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - ); - impl_fmt_debug!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_from_array!([$elem_ty; $elem_n]: $tuple_id | $test_tt | (1., 1.)); - impl_from_vectors!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | $($from_vec_ty),* - ); - impl_default!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_cmp_partial_eq!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (1., 0.) - ); - impl_slice_from_slice!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_slice_write_to_slice!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_shuffle1_dyn!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - - impl_float_consts!([$elem_ty; $elem_n]: $tuple_id); - impl_float_category!([$elem_ty; $elem_n]: $tuple_id, $mask_ty); - - // floating-point math - impl_math_float_abs!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_cos!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_exp!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_ln!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_mul_add!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_mul_adde!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_powf!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_recpre!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_rsqrte!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_sin!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_sqrt!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_sqrte!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_math_float_tanh!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_cmp_vertical!( - [$elem_ty; $elem_n]: $tuple_id, $mask_ty, false, (1., 0.) - | $test_tt - ); - - test_select!($elem_ty, $mask_ty, $tuple_id, (1., 2.) | $test_tt); - test_reduction_float_min_max!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt - ); - test_shuffle1_dyn!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - } -} - -macro_rules! impl_m { - ([$elem_ty:ident; $elem_n:expr]: $tuple_id:ident - | $ielem_ty:ident, $ibitmask_ty:ident - | $test_tt:tt | $($elem_ids:ident),* | From: $($from_vec_ty:ident),* - | $(#[$doc:meta])*) => { - impl_minimal_mask!( - [$elem_ty; $elem_n]: $tuple_id | $ielem_ty | $test_tt - | $($elem_ids),* | $(#[$doc])* - ); - impl_ops_vector_mask_bitwise!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (true, false) - ); - impl_ops_scalar_mask_bitwise!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (true, false) - ); - impl_reduction_bitwise!( - [bool; $elem_n]: $tuple_id | $ielem_ty | $test_tt - | (|x|{ x != 0 }) | (true, false) - ); - impl_reduction_mask!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_fmt_debug!([bool; $elem_n]: $tuple_id | $test_tt); - impl_from_array!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt - | (crate::$elem_ty::new(true), true) - ); - impl_from_vectors!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | $($from_vec_ty),* - ); - impl_default!([bool; $elem_n]: $tuple_id | $test_tt); - impl_cmp_partial_eq!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (true, false) - ); - impl_cmp_eq!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (true, false) - ); - impl_cmp_vertical!( - [$elem_ty; $elem_n]: $tuple_id, $tuple_id, true, (true, false) - | $test_tt - ); - impl_select!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_cmp_partial_ord!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_cmp_ord!( - [$elem_ty; $elem_n]: $tuple_id | $test_tt | (false, true) - ); - impl_shuffle1_dyn!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - impl_bitmask!($tuple_id | $ibitmask_ty | (true, false) | $test_tt); - - test_cmp_partial_ord_mask!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - test_shuffle1_dyn_mask!([$elem_ty; $elem_n]: $tuple_id | $test_tt); - } -} - -macro_rules! impl_const_p { - ([$elem_ty:ty; $elem_n:expr]: $tuple_id:ident, $mask_ty:ident, - $usize_ty:ident, $isize_ty:ident - | $test_tt:tt | $($elem_ids:ident),* - | From: $($from_vec_ty:ident),* | $(#[$doc:meta])*) => { - impl_minimal_p!( - [$elem_ty; $elem_n]: $tuple_id, $mask_ty, $usize_ty, $isize_ty - | ref_ | $test_tt | $($elem_ids),* - | (1 as $elem_ty, 0 as $elem_ty) | $(#[$doc])* - ); - impl_ptr_read!([$elem_ty; $elem_n]: $tuple_id, $mask_ty | $test_tt); - } -} - -macro_rules! impl_mut_p { - ([$elem_ty:ty; $elem_n:expr]: $tuple_id:ident, $mask_ty:ident, - $usize_ty:ident, $isize_ty:ident - | $test_tt:tt | $($elem_ids:ident),* - | From: $($from_vec_ty:ident),* | $(#[$doc:meta])*) => { - impl_minimal_p!( - [$elem_ty; $elem_n]: $tuple_id, $mask_ty, $usize_ty, $isize_ty - | ref_mut_ | $test_tt | $($elem_ids),* - | (1 as $elem_ty, 0 as $elem_ty) | $(#[$doc])* - ); - impl_ptr_read!([$elem_ty; $elem_n]: $tuple_id, $mask_ty | $test_tt); - impl_ptr_write!([$elem_ty; $elem_n]: $tuple_id, $mask_ty | $test_tt); - } -} |