]>
Commit | Line | Data |
---|---|---|
0531ce1d XL |
1 | //! Byte swap intrinsics. |
2 | ||
48663c56 | 3 | #![allow(clippy::module_name_repetitions)] |
0531ce1d XL |
4 | |
5 | #[cfg(test)] | |
416331ca | 6 | use stdarch_test::assert_instr; |
0531ce1d | 7 | |
532ac7d7 | 8 | /// Returns an integer with the reversed byte order of x |
83c7162d XL |
9 | /// |
10 | /// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_bswap64) | |
0531ce1d XL |
11 | #[inline] |
12 | #[cfg_attr(test, assert_instr(bswap))] | |
83c7162d | 13 | #[stable(feature = "simd_x86", since = "1.27.0")] |
0531ce1d | 14 | pub unsafe fn _bswap64(x: i64) -> i64 { |
74b04a01 | 15 | x.swap_bytes() |
0531ce1d XL |
16 | } |
17 | ||
18 | #[cfg(test)] | |
19 | mod tests { | |
20 | use super::*; | |
21 | ||
22 | #[test] | |
23 | fn test_bswap64() { | |
24 | unsafe { | |
25 | assert_eq!(_bswap64(0x0EADBEEFFADECA0E), 0x0ECADEFAEFBEAD0E); | |
26 | assert_eq!(_bswap64(0x0000000000000000), 0x0000000000000000); | |
27 | } | |
28 | } | |
29 | } |