@@ -73,11 +73,11 @@ fn salsaXor(tmp: *align(16) [16]u32, in: []align(16) const u32, out: []align(16)
7373}
7474
7575fn 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
8989fn 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