|
|
|
@ -57,7 +57,7 @@ DECLSPEC static void streebog_g (u64x *h, const u64x *m, LOCAL_AS u64 (*s_sbob_s
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < 8; i++)
|
|
|
|
|
{
|
|
|
|
|
t[i] = k[i] ^ sbob_rc64[r][i];
|
|
|
|
|
t[i] = k[i] ^ sbob512_rc64[r][i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#ifdef _unroll
|
|
|
|
@ -271,14 +271,14 @@ KERNEL_FQ void m11800_m04 (KERN_ATTR_BASIC ())
|
|
|
|
|
|
|
|
|
|
for (u32 i = lid; i < 256; i += lsz)
|
|
|
|
|
{
|
|
|
|
|
s_sbob_sl64[0][i] = sbob_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob_sl64[7][i];
|
|
|
|
|
s_sbob_sl64[0][i] = sbob512_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob512_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob512_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob512_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob512_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob512_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob512_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob512_sl64[7][i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
barrier (CLK_LOCAL_MEM_FENCE);
|
|
|
|
@ -335,14 +335,14 @@ KERNEL_FQ void m11800_m08 (KERN_ATTR_BASIC ())
|
|
|
|
|
|
|
|
|
|
for (u32 i = lid; i < 256; i += lsz)
|
|
|
|
|
{
|
|
|
|
|
s_sbob_sl64[0][i] = sbob_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob_sl64[7][i];
|
|
|
|
|
s_sbob_sl64[0][i] = sbob512_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob512_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob512_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob512_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob512_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob512_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob512_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob512_sl64[7][i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
barrier (CLK_LOCAL_MEM_FENCE);
|
|
|
|
@ -399,14 +399,14 @@ KERNEL_FQ void m11800_m16 (KERN_ATTR_BASIC ())
|
|
|
|
|
|
|
|
|
|
for (u32 i = lid; i < 256; i += lsz)
|
|
|
|
|
{
|
|
|
|
|
s_sbob_sl64[0][i] = sbob_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob_sl64[7][i];
|
|
|
|
|
s_sbob_sl64[0][i] = sbob512_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob512_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob512_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob512_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob512_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob512_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob512_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob512_sl64[7][i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
barrier (CLK_LOCAL_MEM_FENCE);
|
|
|
|
@ -463,14 +463,14 @@ KERNEL_FQ void m11800_s04 (KERN_ATTR_BASIC ())
|
|
|
|
|
|
|
|
|
|
for (u32 i = lid; i < 256; i += lsz)
|
|
|
|
|
{
|
|
|
|
|
s_sbob_sl64[0][i] = sbob_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob_sl64[7][i];
|
|
|
|
|
s_sbob_sl64[0][i] = sbob512_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob512_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob512_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob512_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob512_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob512_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob512_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob512_sl64[7][i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
barrier (CLK_LOCAL_MEM_FENCE);
|
|
|
|
@ -523,18 +523,18 @@ KERNEL_FQ void m11800_s08 (KERN_ATTR_BASIC ())
|
|
|
|
|
* shared lookup table
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
LOCAL_AS u64 s_sbob_sl64[8][256];
|
|
|
|
|
LOCAL_AS u64 s_sbob512_sl64[8][256];
|
|
|
|
|
|
|
|
|
|
for (u32 i = lid; i < 256; i += lsz)
|
|
|
|
|
{
|
|
|
|
|
s_sbob_sl64[0][i] = sbob_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob_sl64[7][i];
|
|
|
|
|
s_sbob_sl64[0][i] = sbob512_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob512_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob512_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob512_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob512_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob512_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob512_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob512_sl64[7][i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
barrier (CLK_LOCAL_MEM_FENCE);
|
|
|
|
@ -591,14 +591,14 @@ KERNEL_FQ void m11800_s16 (KERN_ATTR_BASIC ())
|
|
|
|
|
|
|
|
|
|
for (u32 i = lid; i < 256; i += lsz)
|
|
|
|
|
{
|
|
|
|
|
s_sbob_sl64[0][i] = sbob_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob_sl64[7][i];
|
|
|
|
|
s_sbob_sl64[0][i] = sbob512_sl64[0][i];
|
|
|
|
|
s_sbob_sl64[1][i] = sbob512_sl64[1][i];
|
|
|
|
|
s_sbob_sl64[2][i] = sbob512_sl64[2][i];
|
|
|
|
|
s_sbob_sl64[3][i] = sbob512_sl64[3][i];
|
|
|
|
|
s_sbob_sl64[4][i] = sbob512_sl64[4][i];
|
|
|
|
|
s_sbob_sl64[5][i] = sbob512_sl64[5][i];
|
|
|
|
|
s_sbob_sl64[6][i] = sbob512_sl64[6][i];
|
|
|
|
|
s_sbob_sl64[7][i] = sbob512_sl64[7][i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
barrier (CLK_LOCAL_MEM_FENCE);
|
|
|
|
|