|
|
|
@ -177,7 +177,7 @@ fn mul(a: u64, b: u64) -> u128 {
|
|
|
|
unsafe {
|
|
|
|
unsafe {
|
|
|
|
asm!(
|
|
|
|
asm!(
|
|
|
|
// The x86 mul instruction takes rax as an implicit input and writes
|
|
|
|
// The x86 mul instruction takes rax as an implicit input and writes
|
|
|
|
// the 128-bit result of the multiplication to rax:rdx.
|
|
|
|
// the 128-bit result of the multiplication to rdx:rax.
|
|
|
|
"mul {}",
|
|
|
|
"mul {}",
|
|
|
|
in(reg) a,
|
|
|
|
in(reg) a,
|
|
|
|
inlateout("rax") b => lo,
|
|
|
|
inlateout("rax") b => lo,
|
|
|
|
|