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/codegen/reductions/mask/arm.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/codegen/reductions/mask/arm.rs')
-rw-r--r-- | third_party/rust/packed_simd/src/codegen/reductions/mask/arm.rs | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/third_party/rust/packed_simd/src/codegen/reductions/mask/arm.rs b/third_party/rust/packed_simd/src/codegen/reductions/mask/arm.rs deleted file mode 100644 index 41c3cbc58a..0000000000 --- a/third_party/rust/packed_simd/src/codegen/reductions/mask/arm.rs +++ /dev/null @@ -1,56 +0,0 @@ -//! Mask reductions implementation for `arm` targets - -/// Implementation for ARM + v7 + NEON for 64-bit or 128-bit wide vectors with -/// more than two elements. -macro_rules! arm_128_v7_neon_impl { - ($id:ident, $half:ident, $vpmin:ident, $vpmax:ident) => { - impl All for $id { - #[inline] - #[target_feature(enable = "v7,neon")] - unsafe fn all(self) -> bool { - use crate::arch::arm::$vpmin; - use crate::mem::transmute; - union U { - halves: ($half, $half), - vec: $id, - } - let halves = U { vec: self }.halves; - let h: $half = transmute($vpmin(transmute(halves.0), transmute(halves.1))); - h.all() - } - } - impl Any for $id { - #[inline] - #[target_feature(enable = "v7,neon")] - unsafe fn any(self) -> bool { - use crate::arch::arm::$vpmax; - use crate::mem::transmute; - union U { - halves: ($half, $half), - vec: $id, - } - let halves = U { vec: self }.halves; - let h: $half = transmute($vpmax(transmute(halves.0), transmute(halves.1))); - h.any() - } - } - }; -} - -/// Mask reduction implementation for `arm` targets -macro_rules! impl_mask_reductions { - // 128-bit wide masks - (m8x16) => { - arm_128_v7_neon_impl!(m8x16, m8x8, vpmin_u8, vpmax_u8); - }; - (m16x8) => { - arm_128_v7_neon_impl!(m16x8, m16x4, vpmin_u16, vpmax_u16); - }; - (m32x4) => { - arm_128_v7_neon_impl!(m32x4, m32x2, vpmin_u32, vpmax_u32); - }; - // Fallback to LLVM's default code-generation: - ($id:ident) => { - fallback_impl!($id); - }; -} |