aboutsummaryrefslogtreecommitdiff
path: root/lib/std/crypto/siphash.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-04-29 00:19:55 -0700
committerGitHub <noreply@github.com>2023-04-29 00:19:55 -0700
commitd65b42e07caa00dfe2f2fbf221c593ce57882784 (patch)
tree7926cbea1499e0affe930bf6d7455dc24adf014e /lib/std/crypto/siphash.zig
parentfd6200eda6d4fe19c34a59430a88a9ce38d6d7a4 (diff)
parentfa200ca0cad2705bad40eb723dedf4e3bf11f2ff (diff)
downloadzig-d65b42e07caa00dfe2f2fbf221c593ce57882784.tar.gz
zig-d65b42e07caa00dfe2f2fbf221c593ce57882784.zip
Merge pull request #15481 from ziglang/use-mem-intrinsics
actually use the new memory intrinsics
Diffstat (limited to 'lib/std/crypto/siphash.zig')
-rw-r--r--lib/std/crypto/siphash.zig9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/std/crypto/siphash.zig b/lib/std/crypto/siphash.zig
index 16388439d1..d91485cdfa 100644
--- a/lib/std/crypto/siphash.zig
+++ b/lib/std/crypto/siphash.zig
@@ -98,7 +98,7 @@ fn SipHashStateless(comptime T: type, comptime c_rounds: usize, comptime d_round
self.msg_len +%= @truncate(u8, b.len);
var buf = [_]u8{0} ** 8;
- mem.copy(u8, buf[0..], b[0..]);
+ @memcpy(buf[0..b.len], b);
buf[7] = self.msg_len;
self.round(buf);
@@ -203,7 +203,7 @@ fn SipHash(comptime T: type, comptime c_rounds: usize, comptime d_rounds: usize)
if (self.buf_len != 0 and self.buf_len + b.len >= 8) {
off += 8 - self.buf_len;
- mem.copy(u8, self.buf[self.buf_len..], b[0..off]);
+ @memcpy(self.buf[self.buf_len..][0..off], b[0..off]);
self.state.update(self.buf[0..]);
self.buf_len = 0;
}
@@ -212,8 +212,9 @@ fn SipHash(comptime T: type, comptime c_rounds: usize, comptime d_rounds: usize)
const aligned_len = remain_len - (remain_len % 8);
self.state.update(b[off .. off + aligned_len]);
- mem.copy(u8, self.buf[self.buf_len..], b[off + aligned_len ..]);
- self.buf_len += @intCast(u8, b[off + aligned_len ..].len);
+ const b_slice = b[off + aligned_len ..];
+ @memcpy(self.buf[self.buf_len..][0..b_slice.len], b_slice);
+ self.buf_len += @intCast(u8, b_slice.len);
}
pub fn peek(self: Self) [mac_length]u8 {