codspeed/request/arch/x86_64.rs
1use std::arch::asm;
2
3pub type Value = u64;
4
5#[inline(always)]
6pub unsafe fn send_client_request(default: Value, args: &[Value; 6]) -> Value {
7 let mut value = default;
8 asm!(
9 "rol rdi, 3",
10 "rol rdi, 13",
11 "rol rdi, 61",
12 "rol rdi, 51",
13 "xchg rbx, rbx",
14 in("rax") args.as_ptr(),
15 inlateout("rdx") value,
16 );
17 value
18}