1#[cfg(target_arch = "x86")]
4use core::arch::x86::*;
5#[cfg(target_arch = "x86_64")]
6use core::arch::x86_64::*;
7
8use crate::{Zeroize, volatile_write};
9
10macro_rules! impl_zeroize_for_simd_register {
11 ($($type:ty),* $(,)?) => {
12 $(
13 impl Zeroize for $type {
14 #[inline]
15 fn zeroize(&mut self) {
16 volatile_write(self, unsafe { core::mem::zeroed() });
20 }
21 }
22 )*
23 };
24}
25
26impl_zeroize_for_simd_register!(__m128, __m128d, __m128i, __m256, __m256d, __m256i, __m512, __m512d, __m512i);