Skip to content

Commit bb84c87

Browse files
Vexuandrewrk
authored andcommitted
std: add necessary @alignCasts
1 parent 15ec554 commit bb84c87

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

lib/std/crypto/scrypt.zig

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@ fn salsaXor(tmp: *align(16) [16]u32, in: []align(16) const u32, out: []align(16)
7373
}
7474

7575
fn blockMix(tmp: *align(16) [16]u32, in: []align(16) const u32, out: []align(16) u32, r: u30) void {
76-
blockCopy(tmp, in[(2 * r - 1) * 16 ..], 1);
76+
blockCopy(tmp, @alignCast(16, in[(2 * r - 1) * 16 ..]), 1);
7777
var i: usize = 0;
7878
while (i < 2 * r) : (i += 2) {
79-
salsaXor(tmp, in[i * 16 ..], out[i * 8 ..]);
80-
salsaXor(tmp, in[i * 16 + 16 ..], out[i * 8 + r * 16 ..]);
79+
salsaXor(tmp, @alignCast(16, in[i * 16 ..]), @alignCast(16, out[i * 8 ..]));
80+
salsaXor(tmp, @alignCast(16, in[i * 16 + 16 ..]), @alignCast(16, out[i * 8 + r * 16 ..]));
8181
}
8282
}
8383

@@ -87,8 +87,8 @@ fn integerify(b: []align(16) const u32, r: u30) u64 {
8787
}
8888

8989
fn smix(b: []align(16) u8, r: u30, n: usize, v: []align(16) u32, xy: []align(16) u32) void {
90-
var x = xy[0 .. 32 * r];
91-
var y = xy[32 * r ..];
90+
var x = @alignCast(16, xy[0 .. 32 * r]);
91+
var y = @alignCast(16, xy[32 * r ..]);
9292

9393
for (x) |*v1, j| {
9494
v1.* = mem.readIntSliceLittle(u32, b[4 * j ..]);
@@ -97,21 +97,21 @@ fn smix(b: []align(16) u8, r: u30, n: usize, v: []align(16) u32, xy: []align(16)
9797
var tmp: [16]u32 align(16) = undefined;
9898
var i: usize = 0;
9999
while (i < n) : (i += 2) {
100-
blockCopy(v[i * (32 * r) ..], x, 2 * r);
100+
blockCopy(@alignCast(16, v[i * (32 * r) ..]), x, 2 * r);
101101
blockMix(&tmp, x, y, r);
102102

103-
blockCopy(v[(i + 1) * (32 * r) ..], y, 2 * r);
103+
blockCopy(@alignCast(16, v[(i + 1) * (32 * r) ..]), y, 2 * r);
104104
blockMix(&tmp, y, x, r);
105105
}
106106

107107
i = 0;
108108
while (i < n) : (i += 2) {
109109
var j = @intCast(usize, integerify(x, r) & (n - 1));
110-
blockXor(x, v[j * (32 * r) ..], 2 * r);
110+
blockXor(x, @alignCast(16, v[j * (32 * r) ..]), 2 * r);
111111
blockMix(&tmp, x, y, r);
112112

113113
j = @intCast(usize, integerify(y, r) & (n - 1));
114-
blockXor(y, v[j * (32 * r) ..], 2 * r);
114+
blockXor(y, @alignCast(16, v[j * (32 * r) ..]), 2 * r);
115115
blockMix(&tmp, y, x, r);
116116
}
117117

@@ -201,7 +201,7 @@ pub fn kdf(
201201
try pwhash.pbkdf2(dk, password, salt, 1, HmacSha256);
202202
var i: u32 = 0;
203203
while (i < params.p) : (i += 1) {
204-
smix(dk[i * 128 * params.r ..], params.r, n, v, xy);
204+
smix(@alignCast(16, dk[i * 128 * params.r ..]), params.r, n, v, xy);
205205
}
206206
try pwhash.pbkdf2(derived_key, password, dk, 1, HmacSha256);
207207
}

0 commit comments

Comments
 (0)