1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
use super::*;
use core::arch::x86::*;
#[cfg(target_feature = "rdrand")]
#[path = "rdrand.rs"]
mod rdrand;
#[cfg(target_feature = "rdrand")]
pub use rdrand::*;
#[cfg(target_feature = "sse")]
#[path = "sse.rs"]
mod sse;
#[cfg(target_feature = "sse")]
pub use sse::*;
#[cfg(target_feature = "sse2")]
#[path = "sse2.rs"]
mod sse2;
#[cfg(target_feature = "sse2")]
pub use sse2::*;
#[cfg(target_feature = "sse3")]
#[path = "sse3.rs"]
mod sse3;
#[cfg(target_feature = "sse3")]
pub use sse3::*;
#[cfg(target_feature = "ssse3")]
#[path = "ssse3.rs"]
mod ssse3;
#[cfg(target_feature = "ssse3")]
pub use ssse3::*;
#[cfg(target_feature = "sse4.1")]
#[path = "sse4_1.rs"]
mod sse4_1;
#[cfg(target_feature = "sse4.1")]
pub use sse4_1::*;
#[cfg(target_feature = "sse4.2")]
#[path = "sse4_2.rs"]
mod sse4_2;
#[cfg(target_feature = "sse4.2")]
pub use sse4_2::*;
#[inline]
pub fn rdtsc() -> u64 {
unsafe { _rdtsc() }
}