zeroize/
aarch64.rs
1use crate::{atomic_fence, volatile_write, Zeroize};
4
5use core::arch::aarch64::*;
6
7macro_rules! impl_zeroize_for_simd_register {
8 ($($type:ty),* $(,)?) => {
9 $(
10 impl Zeroize for $type {
11 #[inline]
12 fn zeroize(&mut self) {
13 volatile_write(self, unsafe { core::mem::zeroed() });
14 atomic_fence();
15 }
16 }
17 )+
18 };
19}
20
21impl_zeroize_for_simd_register! {
23 uint8x8_t,
24 uint8x16_t,
25 uint16x4_t,
26 uint16x8_t,
27 uint32x2_t,
28 uint32x4_t,
29 uint64x1_t,
30 uint64x2_t,
31}