| 1 | //! Byte swap intrinsics. | 
| 2 |  | 
|---|
| 3 | #![ allow(clippy::module_name_repetitions)] | 
|---|
| 4 |  | 
|---|
| 5 | #[ cfg(test)] | 
|---|
| 6 | use stdarch_test::assert_instr; | 
|---|
| 7 |  | 
|---|
| 8 | /// Returns an integer with the reversed byte order of x | 
|---|
| 9 | /// | 
|---|
| 10 | /// [Intel's documentation](https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=_bswap64) | 
|---|
| 11 | #[ inline] | 
|---|
| 12 | #[ cfg_attr(test, assert_instr(bswap))] | 
|---|
| 13 | #[ stable(feature = "simd_x86", since = "1.27.0")] | 
|---|
| 14 | pub unsafe fn _bswap64(x: i64) -> i64 { | 
|---|
| 15 | x.swap_bytes() | 
|---|
| 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 | } | 
|---|
| 30 |  | 
|---|