Skip to content

Commit e7d5b1a

Browse files
mat-1michaelwoerister
authored andcommitted
Optimize SipHash by reordering instructions in compress
1 parent c6795f4 commit e7d5b1a

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/sip128.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -73,18 +73,19 @@ macro_rules! compress {
7373
}};
7474
($v0:expr, $v1:expr, $v2:expr, $v3:expr) => {{
7575
$v0 = $v0.wrapping_add($v1);
76+
$v2 = $v2.wrapping_add($v3);
7677
$v1 = $v1.rotate_left(13);
7778
$v1 ^= $v0;
78-
$v0 = $v0.rotate_left(32);
79-
$v2 = $v2.wrapping_add($v3);
8079
$v3 = $v3.rotate_left(16);
8180
$v3 ^= $v2;
82-
$v0 = $v0.wrapping_add($v3);
83-
$v3 = $v3.rotate_left(21);
84-
$v3 ^= $v0;
81+
$v0 = $v0.rotate_left(32);
82+
8583
$v2 = $v2.wrapping_add($v1);
84+
$v0 = $v0.wrapping_add($v3);
8685
$v1 = $v1.rotate_left(17);
8786
$v1 ^= $v2;
87+
$v3 = $v3.rotate_left(21);
88+
$v3 ^= $v0;
8889
$v2 = $v2.rotate_left(32);
8990
}};
9091
}

0 commit comments

Comments
 (0)