mirror of
https://github.com/Lokathor/bytemuck.git
synced 2024-11-21 22:32:23 +00:00
Implement Pod
and Zeroable
for AArch64 NEON Vectors (#80)
* Implement `Pod` and `Zeroable` for AArch64 NEON Vectors The NEON intrinsics will be stabilized in Rust 1.59. * Compile all-features only on nightly
This commit is contained in:
parent
e32f013a06
commit
6029639753
6
.github/workflows/rust.yml
vendored
6
.github/workflows/rust.yml
vendored
@ -36,9 +36,9 @@ jobs:
|
|||||||
- run: cargo test --verbose
|
- run: cargo test --verbose
|
||||||
- run: cargo test --verbose --no-default-features
|
- run: cargo test --verbose --no-default-features
|
||||||
- run: cargo test --verbose --all-features
|
- run: cargo test --verbose --all-features
|
||||||
if: matrix.rust != '1.34.0'
|
if: matrix.rust == 'nightly'
|
||||||
- run: cargo test --verbose --manifest-path=derive/Cargo.toml --all-features
|
- run: cargo test --verbose --manifest-path=derive/Cargo.toml --all-features
|
||||||
if: matrix.rust != '1.34.0'
|
if: matrix.rust == 'nightly'
|
||||||
|
|
||||||
cross-test:
|
cross-test:
|
||||||
name: Test on ${{ matrix.target }} with cross
|
name: Test on ${{ matrix.target }} with cross
|
||||||
@ -49,6 +49,8 @@ jobs:
|
|||||||
target: [i686-unknown-linux-gnu, mips-unknown-linux-gnu, mips64-unknown-linux-gnuabi64]
|
target: [i686-unknown-linux-gnu, mips-unknown-linux-gnu, mips64-unknown-linux-gnuabi64]
|
||||||
steps:
|
steps:
|
||||||
- uses: hecrj/setup-rust-action@v1
|
- uses: hecrj/setup-rust-action@v1
|
||||||
|
with:
|
||||||
|
rust-version: nightly
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: cargo install cross
|
- run: cargo install cross
|
||||||
- run: cross test --verbose --target=${{ matrix.target }} --no-default-features
|
- run: cross test --verbose --target=${{ matrix.target }} --no-default-features
|
||||||
|
@ -19,6 +19,7 @@ extern_crate_std = ["extern_crate_alloc"]
|
|||||||
zeroable_maybe_uninit = []
|
zeroable_maybe_uninit = []
|
||||||
min_const_generics = []
|
min_const_generics = []
|
||||||
wasm_simd = [] # Until >= 1.54.0 is MSRV this is an off-by-default feature.
|
wasm_simd = [] # Until >= 1.54.0 is MSRV this is an off-by-default feature.
|
||||||
|
aarch64_simd = [] # Until >= 1.59.0 is MSRV this is an off-by-default feature.
|
||||||
|
|
||||||
# Do not use if you can avoid it, because this is unsound.
|
# Do not use if you can avoid it, because this is unsound.
|
||||||
unsound_ptr_pod_impl = []
|
unsound_ptr_pod_impl = []
|
||||||
|
@ -38,6 +38,8 @@
|
|||||||
//! methods related to `Box` and `Vec`. Note that the `docs.rs` documentation
|
//! methods related to `Box` and `Vec`. Note that the `docs.rs` documentation
|
||||||
//! is always built with `extern_crate_alloc` cargo feature enabled.
|
//! is always built with `extern_crate_alloc` cargo feature enabled.
|
||||||
|
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
use core::arch::aarch64;
|
||||||
#[cfg(all(target_arch = "wasm32", feature = "wasm_simd"))]
|
#[cfg(all(target_arch = "wasm32", feature = "wasm_simd"))]
|
||||||
use core::arch::wasm32;
|
use core::arch::wasm32;
|
||||||
#[cfg(target_arch = "x86")]
|
#[cfg(target_arch = "x86")]
|
||||||
|
209
src/pod.rs
209
src/pod.rs
@ -84,6 +84,215 @@ impl_unsafe_marker_for_array!(
|
|||||||
#[cfg(all(target_arch = "wasm32", feature = "wasm_simd"))]
|
#[cfg(all(target_arch = "wasm32", feature = "wasm_simd"))]
|
||||||
unsafe impl Pod for wasm32::v128 {}
|
unsafe impl Pod for wasm32::v128 {}
|
||||||
|
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float32x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float32x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float32x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float32x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float32x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float32x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float32x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float32x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float64x1_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float64x1x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float64x1x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float64x1x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float64x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float64x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float64x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::float64x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int16x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int16x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int16x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int16x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int16x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int16x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int16x8x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int32x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int32x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int32x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int32x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int32x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int32x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int32x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int32x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int64x1_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int64x1x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int64x1x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int64x1x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int64x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int64x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int64x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int64x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int8x16_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int8x16x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int8x16x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int8x16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int8x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int8x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int8x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::int8x8x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly16x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly16x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly16x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly16x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly16x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly16x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly16x8x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly64x1_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly64x1x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly64x1x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly64x1x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly64x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly64x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly64x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly64x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly8x16_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly8x16x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly8x16x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly8x16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly8x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly8x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly8x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::poly8x8x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint16x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint16x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint16x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint16x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint16x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint16x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint16x8x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint32x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint32x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint32x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint32x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint32x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint32x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint32x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint32x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint64x1_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint64x1x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint64x1x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint64x1x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint64x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint64x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint64x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint64x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint8x16_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint8x16x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint8x16x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint8x16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint8x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint8x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint8x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Pod for aarch64::uint8x8x4_t {}
|
||||||
|
|
||||||
#[cfg(target_arch = "x86")]
|
#[cfg(target_arch = "x86")]
|
||||||
unsafe impl Pod for x86::__m128i {}
|
unsafe impl Pod for x86::__m128i {}
|
||||||
#[cfg(target_arch = "x86")]
|
#[cfg(target_arch = "x86")]
|
||||||
|
209
src/zeroable.rs
209
src/zeroable.rs
@ -123,6 +123,215 @@ impl_unsafe_marker_for_array!(
|
|||||||
#[cfg(all(target_arch = "wasm32", feature = "wasm_simd"))]
|
#[cfg(all(target_arch = "wasm32", feature = "wasm_simd"))]
|
||||||
unsafe impl Zeroable for wasm32::v128 {}
|
unsafe impl Zeroable for wasm32::v128 {}
|
||||||
|
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float32x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float32x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float32x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float32x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float32x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float32x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float32x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float32x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float64x1_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float64x1x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float64x1x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float64x1x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float64x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float64x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float64x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::float64x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int16x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int16x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int16x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int16x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int16x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int16x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int16x8x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int32x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int32x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int32x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int32x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int32x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int32x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int32x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int32x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int64x1_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int64x1x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int64x1x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int64x1x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int64x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int64x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int64x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int64x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int8x16_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int8x16x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int8x16x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int8x16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int8x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int8x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int8x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::int8x8x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly16x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly16x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly16x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly16x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly16x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly16x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly16x8x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly64x1_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly64x1x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly64x1x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly64x1x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly64x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly64x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly64x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly64x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly8x16_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly8x16x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly8x16x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly8x16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly8x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly8x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly8x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::poly8x8x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint16x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint16x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint16x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint16x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint16x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint16x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint16x8x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint32x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint32x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint32x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint32x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint32x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint32x4x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint32x4x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint32x4x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint64x1_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint64x1x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint64x1x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint64x1x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint64x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint64x2x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint64x2x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint64x2x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint8x16_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint8x16x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint8x16x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint8x16x4_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint8x8_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint8x8x2_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint8x8x3_t {}
|
||||||
|
#[cfg(all(target_arch = "aarch64", feature = "aarch64_simd"))]
|
||||||
|
unsafe impl Zeroable for aarch64::uint8x8x4_t {}
|
||||||
|
|
||||||
#[cfg(target_arch = "x86")]
|
#[cfg(target_arch = "x86")]
|
||||||
unsafe impl Zeroable for x86::__m128i {}
|
unsafe impl Zeroable for x86::__m128i {}
|
||||||
#[cfg(target_arch = "x86")]
|
#[cfg(target_arch = "x86")]
|
||||||
|
Loading…
Reference in New Issue
Block a user