OpenCL Kernels: Added datatypes to literals of some 64 bit kernel constants

pull/2501/head
Jens Steube 4 years ago
parent 70ba719169
commit 4658e470a2

@ -2903,7 +2903,7 @@ DECLSPEC void switch_buffer_by_offset_le (u32x *w0, u32x *w1, u32x *w2, u32x *w3
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> (offset_minus_4 * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> (offset_minus_4 * 8));
#endif
switch (offset_switch)
@ -4495,7 +4495,7 @@ DECLSPEC void switch_buffer_by_offset_be (u32x *w0, u32x *w1, u32x *w2, u32x *w3
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> ((offset & 3) * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> ((offset & 3) * 8));
#endif
switch (offset_switch)
@ -5295,7 +5295,7 @@ DECLSPEC void switch_buffer_by_offset_carry_be (u32x *w0, u32x *w1, u32x *w2, u3
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> ((offset & 3) * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> ((offset & 3) * 8));
#endif
switch (offset_switch)
@ -6931,7 +6931,7 @@ DECLSPEC void switch_buffer_by_offset_8x4_le (u32x *w0, u32x *w1, u32x *w2, u32x
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> (offset_minus_4 * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> (offset_minus_4 * 8));
#endif
switch (offset_switch)
@ -9199,7 +9199,7 @@ DECLSPEC void switch_buffer_by_offset_8x4_carry_le (u32x *w0, u32x *w1, u32x *w2
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> (offset_minus_4 * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> (offset_minus_4 * 8));
#endif
switch (offset_switch)
@ -12055,7 +12055,7 @@ DECLSPEC void switch_buffer_by_offset_8x4_be (u32x *w0, u32x *w1, u32x *w2, u32x
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> ((offset & 3) * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> ((offset & 3) * 8));
#endif
switch (offset_switch)
@ -14911,7 +14911,7 @@ DECLSPEC void switch_buffer_by_offset_8x4_carry_be (u32x *w0, u32x *w1, u32x *w2
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> ((offset & 3) * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> ((offset & 3) * 8));
#endif
switch (offset_switch)
@ -20971,7 +20971,7 @@ DECLSPEC void switch_buffer_by_offset_1x64_le (u32x *w, const u32 offset)
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> (offset_minus_4 * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> (offset_minus_4 * 8));
#endif
switch (offset_switch)
@ -29699,7 +29699,7 @@ DECLSPEC void switch_buffer_by_offset_1x64_be (u32x *w, const u32 offset)
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> ((offset & 3) * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> ((offset & 3) * 8));
#endif
switch (offset_switch)
@ -36494,7 +36494,7 @@ DECLSPEC void switch_buffer_by_offset_le_S (u32 *w0, u32 *w1, u32 *w2, u32 *w3,
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> (offset_minus_4 * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> (offset_minus_4 * 8));
#endif
switch (offset_switch)
@ -38086,7 +38086,7 @@ DECLSPEC void switch_buffer_by_offset_be_S (u32 *w0, u32 *w1, u32 *w2, u32 *w3,
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> ((offset & 3) * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> ((offset & 3) * 8));
#endif
switch (offset_switch)
@ -38886,7 +38886,7 @@ DECLSPEC void switch_buffer_by_offset_carry_be_S (u32 *w0, u32 *w1, u32 *w2, u32
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> ((offset & 3) * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> ((offset & 3) * 8));
#endif
switch (offset_switch)
@ -40522,7 +40522,7 @@ DECLSPEC void switch_buffer_by_offset_8x4_le_S (u32 *w0, u32 *w1, u32 *w2, u32 *
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> (offset_minus_4 * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> (offset_minus_4 * 8));
#endif
switch (offset_switch)
@ -42790,7 +42790,7 @@ DECLSPEC void switch_buffer_by_offset_8x4_carry_le_S (u32 *w0, u32 *w1, u32 *w2,
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> (offset_minus_4 * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> (offset_minus_4 * 8));
#endif
switch (offset_switch)
@ -45646,7 +45646,7 @@ DECLSPEC void switch_buffer_by_offset_8x4_be_S (u32 *w0, u32 *w1, u32 *w2, u32 *
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> ((offset & 3) * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> ((offset & 3) * 8));
#endif
switch (offset_switch)
@ -48502,7 +48502,7 @@ DECLSPEC void switch_buffer_by_offset_8x4_carry_be_S (u32 *w0, u32 *w1, u32 *w2,
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> ((offset & 3) * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> ((offset & 3) * 8));
#endif
switch (offset_switch)
@ -54562,7 +54562,7 @@ DECLSPEC void switch_buffer_by_offset_1x64_le_S (u32 *w, const u32 offset)
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> (offset_minus_4 * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> (offset_minus_4 * 8));
#endif
switch (offset_switch)
@ -63290,7 +63290,7 @@ DECLSPEC void switch_buffer_by_offset_1x64_be_S (u32 *w, const u32 offset)
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> ((offset & 3) * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> ((offset & 3) * 8));
#endif
switch (offset_switch)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -895,7 +895,7 @@ DECLSPEC void append_block8_optimized (const u32 offset, u32 *buf0, u32 *buf1, c
#endif
#if defined IS_AMD
const int selector = 0x0706050403020100 >> (offset_minus_4 * 8);
const int selector = l32_from_64_S (0x0706050403020100UL >> (offset_minus_4 * 8));
#endif
const u32 src_r00 = src_r0[0];

@ -170,7 +170,7 @@ DECLSPEC void hmac_sha512_run (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u64x *ipa
w1_t[1] = digest[5];
w1_t[2] = digest[6];
w1_t[3] = digest[7];
w2_t[0] = 0x8000000000000000;
w2_t[0] = 0x8000000000000000UL;
w2_t[1] = 0;
w2_t[2] = 0;
w2_t[3] = 0;

@ -168,7 +168,7 @@ DECLSPEC void hmac_sha512_run (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u64x *ipa
w1_t[1] = digest[5];
w1_t[2] = digest[6];
w1_t[3] = digest[7];
w2_t[0] = 0x8000000000000000;
w2_t[0] = 0x8000000000000000UL;
w2_t[1] = 0;
w2_t[2] = 0;
w2_t[3] = 0;

@ -168,7 +168,7 @@ DECLSPEC void hmac_sha512_run (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u64x *ipa
w1_t[1] = digest[5];
w1_t[2] = digest[6];
w1_t[3] = digest[7];
w2_t[0] = 0x8000000000000000;
w2_t[0] = 0x8000000000000000UL;
w2_t[1] = 0;
w2_t[2] = 0;
w2_t[3] = 0;

@ -170,7 +170,7 @@ DECLSPEC void hmac_sha512_run (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u64x *ipa
w1_t[1] = digest[5];
w1_t[2] = digest[6];
w1_t[3] = digest[7];
w2_t[0] = 0x8000000000000000;
w2_t[0] = 0x8000000000000000UL;
w2_t[1] = 0;
w2_t[2] = 0;
w2_t[3] = 0;

@ -168,7 +168,7 @@ DECLSPEC void hmac_sha512_run (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u64x *ipa
w1_t[1] = digest[5];
w1_t[2] = digest[6];
w1_t[3] = digest[7];
w2_t[0] = 0x8000000000000000;
w2_t[0] = 0x8000000000000000UL;
w2_t[1] = 0;
w2_t[2] = 0;
w2_t[3] = 0;

@ -168,7 +168,7 @@ DECLSPEC void hmac_sha512_run (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u64x *ipa
w1_t[1] = digest[5];
w1_t[2] = digest[6];
w1_t[3] = digest[7];
w2_t[0] = 0x8000000000000000;
w2_t[0] = 0x8000000000000000UL;
w2_t[1] = 0;
w2_t[2] = 0;
w2_t[3] = 0;

@ -145,7 +145,7 @@ KERNEL_FQ void m03100_m04 (KERN_ATTR_RULES ())
dst[15] = w3[3];
/**
* precompute key1 since key is static: 0x0123456789abcdef
* precompute key1 since key is static: 0x0123456789abcdefUL
* plus LEFT_ROTATE by 2
*/
@ -389,7 +389,7 @@ KERNEL_FQ void m03100_s04 (KERN_ATTR_RULES ())
dst[15] = w3[3];
/**
* precompute key1 since key is static: 0x0123456789abcdef
* precompute key1 since key is static: 0x0123456789abcdefUL
* plus LEFT_ROTATE by 2
*/

@ -203,7 +203,7 @@ KERNEL_FQ void m03100_m04 (KERN_ATTR_BASIC ())
dst[15] = w3[3];
/**
* precompute key1 since key is static: 0x0123456789abcdef
* precompute key1 since key is static: 0x0123456789abcdefUL
* plus LEFT_ROTATE by 2
*/
@ -507,7 +507,7 @@ KERNEL_FQ void m03100_s04 (KERN_ATTR_BASIC ())
dst[15] = w3[3];
/**
* precompute key1 since key is static: 0x0123456789abcdef
* precompute key1 since key is static: 0x0123456789abcdefUL
* plus LEFT_ROTATE by 2
*/

@ -99,7 +99,7 @@ DECLSPEC void m03100m (SHM_TYPE u32 (*s_SPtrans)[64], SHM_TYPE u32 (*s_skb)[64],
dst[15] = w3[3];
/**
* precompute key1 since key is static: 0x0123456789abcdef
* precompute key1 since key is static: 0x0123456789abcdefUL
* plus LEFT_ROTATE by 2
*/
@ -292,7 +292,7 @@ DECLSPEC void m03100s (SHM_TYPE u32 (*s_SPtrans)[64], SHM_TYPE u32 (*s_skb)[64],
dst[15] = w3[3];
/**
* precompute key1 since key is static: 0x0123456789abcdef
* precompute key1 since key is static: 0x0123456789abcdefUL
* plus LEFT_ROTATE by 2
*/

@ -54,16 +54,16 @@ DECLSPEC int replace_u32_le (const u32 input, u32 *output, int cur_len)
u64 m64 = input64;
m64 ^= 0x002e002e002e002e; // convert 0x2e to 0x00
m64 ^= 0x00ff00ff00ff00ff; // convert 0x00 to 0xff (jit will optimize this to one instruction)
m64 += 0x0001000100010001; // only 0xff can set 9th bit
m64 &= 0x0100010001000100; // only 9th bit survives
m64 ^= 0x002e002e002e002eUL; // convert 0x2e to 0x00
m64 ^= 0x00ff00ff00ff00ffUL; // convert 0x00 to 0xff (jit will optimize this to one instruction)
m64 += 0x0001000100010001UL; // only 0xff can set 9th bit
m64 &= 0x0100010001000100UL; // only 9th bit survives
m64 |= m64 << 1; // converts 0x0100 to 0xff00
m64 |= m64 << 1; // converts 0x0100 to 0xff00
m64 |= m64 << 2;
m64 |= m64 << 4;
m64 >>= 8; // back to original positions (in 64 bit)
m64 >>= 8; // back to original positions (in 64 bit)
u32 m = u64_to_u32 (m64);

@ -52,16 +52,16 @@ DECLSPEC int replace_u32_le (const u32 input, u32 *output, int cur_len)
u64 m64 = input64;
m64 ^= 0x002e002e002e002e; // convert 0x2e to 0x00
m64 ^= 0x00ff00ff00ff00ff; // convert 0x00 to 0xff (jit will optimize this to one instruction)
m64 += 0x0001000100010001; // only 0xff can set 9th bit
m64 &= 0x0100010001000100; // only 9th bit survives
m64 ^= 0x002e002e002e002eUL; // convert 0x2e to 0x00
m64 ^= 0x00ff00ff00ff00ffUL; // convert 0x00 to 0xff (jit will optimize this to one instruction)
m64 += 0x0001000100010001UL; // only 0xff can set 9th bit
m64 &= 0x0100010001000100UL; // only 9th bit survives
m64 |= m64 << 1; // converts 0x0100 to 0xff00
m64 |= m64 << 1; // converts 0x0100 to 0xff00
m64 |= m64 << 2;
m64 |= m64 << 4;
m64 >>= 8; // back to original positions (in 64 bit)
m64 >>= 8; // back to original positions (in 64 bit)
u32 m = u64_to_u32 (m64);

@ -52,16 +52,16 @@ DECLSPEC int replace_u32_be (const u32 input, u32 *output, int cur_len)
u64 m64 = input64;
m64 ^= 0x002e002e002e002e; // convert 0x2e to 0x00
m64 ^= 0x00ff00ff00ff00ff; // convert 0x00 to 0xff (jit will optimize this to one instruction)
m64 += 0x0001000100010001; // only 0xff can set 9th bit
m64 &= 0x0100010001000100; // only 9th bit survives
m64 ^= 0x002e002e002e002eUL; // convert 0x2e to 0x00
m64 ^= 0x00ff00ff00ff00ffUL; // convert 0x00 to 0xff (jit will optimize this to one instruction)
m64 += 0x0001000100010001UL; // only 0xff can set 9th bit
m64 &= 0x0100010001000100UL; // only 9th bit survives
m64 |= m64 << 1; // converts 0x0100 to 0xff00
m64 |= m64 << 1; // converts 0x0100 to 0xff00
m64 |= m64 << 2;
m64 |= m64 << 4;
m64 >>= 8; // back to original positions (in 64 bit)
m64 >>= 8; // back to original positions (in 64 bit)
u32 m = u64_to_u32 (m64);

@ -17,7 +17,7 @@
#include "inc_hash_streebog256.cl"
#endif
#define INITVAL 0x0101010101010101
#define INITVAL 0x0101010101010101UL
DECLSPEC void streebog_g (u64x *h, const u64x *m, LOCAL_AS u64 (*s_sbob_sl64)[256])
{

@ -15,7 +15,7 @@
#include "inc_hash_streebog256.cl"
#endif
#define INITVAL 0x0101010101010101
#define INITVAL 0x0101010101010101UL
DECLSPEC void streebog_g (u64x *h, const u64x *m, LOCAL_AS u64 (*s_sbob_sl64)[256])
{

@ -15,7 +15,7 @@
#include "inc_hash_streebog256.cl"
#endif
#define INITVAL 0x0101010101010101
#define INITVAL 0x0101010101010101UL
DECLSPEC void streebog_g (u64x *h, const u64x *m, LOCAL_AS u64 (*s_sbob_sl64)[256])
{

@ -97,12 +97,12 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
u64x padding[8] = { 0 };
u64x message[8];
padding[7] = 0x0100000000000000;
padding[7] = 0x0100000000000000UL;
//inner HMAC: ipad + message
//first transform: precalculated ipad hash
counterbuf[7] = 0x0002000000000000;
counterbuf[7] = 0x0002000000000000UL;
//second transform: message = previous HMAC digest
message[7] = hl32_to_64 (w3[2], w3[3]);
@ -125,7 +125,7 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
streebog512_g_vector (digest, counterbuf, message, s_sbob_sl64);
counterbuf[7] = 0x0004000000000000;
counterbuf[7] = 0x0004000000000000UL;
//final: padding byte
streebog512_g_vector (digest, counterbuf, padding, s_sbob_sl64);
@ -140,7 +140,7 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
//outer HMAC: opad + digest
//first transform: precalculated opad hash
counterbuf[7] = 0x0002000000000000;
counterbuf[7] = 0x0002000000000000UL;
//second transform: message = inner HMAC digest
message[0] = digest[0];
@ -163,7 +163,7 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
streebog512_g_vector (digest, counterbuf, message, s_sbob_sl64);
counterbuf[7] = 0x0004000000000000;
counterbuf[7] = 0x0004000000000000UL;
streebog512_g_vector (digest, counterbuf, padding, s_sbob_sl64);

@ -148,12 +148,12 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
u64x padding[8] = { 0 };
u64x message[8];
padding[7] = 0x0100000000000000;
padding[7] = 0x0100000000000000UL;
//inner HMAC: ipad + message
//first transform: precalculated ipad hash
counterbuf[7] = 0x0002000000000000;
counterbuf[7] = 0x0002000000000000UL;
//second transform: message = previous HMAC digest
message[7] = hl32_to_64 (w3[2], w3[3]);
@ -176,7 +176,7 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
streebog512_g_vector (digest, counterbuf, message, s_sbob_sl64);
counterbuf[7] = 0x0004000000000000;
counterbuf[7] = 0x0004000000000000UL;
//final: padding byte
streebog512_g_vector (digest, counterbuf, padding, s_sbob_sl64);
@ -191,7 +191,7 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
//outer HMAC: opad + digest
//first transform: precalculated opad hash
counterbuf[7] = 0x0002000000000000;
counterbuf[7] = 0x0002000000000000UL;
//second transform: message = inner HMAC digest
message[0] = digest[0];
@ -214,7 +214,7 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
streebog512_g_vector (digest, counterbuf, message, s_sbob_sl64);
counterbuf[7] = 0x0004000000000000;
counterbuf[7] = 0x0004000000000000UL;
streebog512_g_vector (digest, counterbuf, padding, s_sbob_sl64);

@ -213,12 +213,12 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
u64x padding[8] = { 0 };
u64x message[8];
padding[7] = 0x0100000000000000;
padding[7] = 0x0100000000000000UL;
//inner HMAC: ipad + message
//first transform: precalculated ipad hash
counterbuf[7] = 0x0002000000000000;
counterbuf[7] = 0x0002000000000000UL;
//second transform: message = previous HMAC digest
message[7] = hl32_to_64 (w3[2], w3[3]);
@ -241,7 +241,7 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
streebog512_g_vector (digest, counterbuf, message, s_sbob_sl64);
counterbuf[7] = 0x0004000000000000;
counterbuf[7] = 0x0004000000000000UL;
//final: padding byte
streebog512_g_vector (digest, counterbuf, padding, s_sbob_sl64);
@ -256,7 +256,7 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
//outer HMAC: opad + digest
//first transform: precalculated opad hash
counterbuf[7] = 0x0002000000000000;
counterbuf[7] = 0x0002000000000000UL;
//second transform: message = inner HMAC digest
message[0] = digest[0];
@ -279,7 +279,7 @@ DECLSPEC void hmac_streebog512_run_V (u32x *w0, u32x *w1, u32x *w2, u32x *w3, u6
streebog512_g_vector (digest, counterbuf, message, s_sbob_sl64);
counterbuf[7] = 0x0004000000000000;
counterbuf[7] = 0x0004000000000000UL;
streebog512_g_vector (digest, counterbuf, padding, s_sbob_sl64);

@ -36,14 +36,12 @@ typedef struct ethereum_pbkdf2
CONSTANT_VK u64a keccakf_rndc[24] =
{
0x0000000000000001, 0x0000000000008082, 0x800000000000808a,
0x8000000080008000, 0x000000000000808b, 0x0000000080000001,
0x8000000080008081, 0x8000000000008009, 0x000000000000008a,
0x0000000000000088, 0x0000000080008009, 0x000000008000000a,
0x000000008000808b, 0x800000000000008b, 0x8000000000008089,
0x8000000000008003, 0x8000000000008002, 0x8000000000000080,
0x000000000000800a, 0x800000008000000a, 0x8000000080008081,
0x8000000000008080, 0x0000000080000001, 0x8000000080008008
KECCAK_RNDC_00, KECCAK_RNDC_01, KECCAK_RNDC_02, KECCAK_RNDC_03,
KECCAK_RNDC_04, KECCAK_RNDC_05, KECCAK_RNDC_06, KECCAK_RNDC_07,
KECCAK_RNDC_08, KECCAK_RNDC_09, KECCAK_RNDC_10, KECCAK_RNDC_11,
KECCAK_RNDC_12, KECCAK_RNDC_13, KECCAK_RNDC_14, KECCAK_RNDC_15,
KECCAK_RNDC_16, KECCAK_RNDC_17, KECCAK_RNDC_18, KECCAK_RNDC_19,
KECCAK_RNDC_20, KECCAK_RNDC_21, KECCAK_RNDC_22, KECCAK_RNDC_23
};
#ifndef KECCAK_ROUNDS
@ -465,7 +463,7 @@ KERNEL_FQ void m15600_comp (KERN_ATTR_TMPS_ESALT (pbkdf2_sha256_tmp_t, ethereum_
const u32 add80w = (rsiz - 1) / 8;
st[add80w] |= 0x8000000000000000;
st[add80w] |= 0x8000000000000000UL;
keccak_transform_S (st);

@ -318,14 +318,12 @@ DECLSPEC void scrypt_smix (uint4 *X, uint4 *T, GLOBAL_AS uint4 *V0, GLOBAL_AS ui
CONSTANT_VK u64a keccakf_rndc[24] =
{
0x0000000000000001, 0x0000000000008082, 0x800000000000808a,
0x8000000080008000, 0x000000000000808b, 0x0000000080000001,
0x8000000080008081, 0x8000000000008009, 0x000000000000008a,
0x0000000000000088, 0x0000000080008009, 0x000000008000000a,
0x000000008000808b, 0x800000000000008b, 0x8000000000008089,
0x8000000000008003, 0x8000000000008002, 0x8000000000000080,
0x000000000000800a, 0x800000008000000a, 0x8000000080008081,
0x8000000000008080, 0x0000000080000001, 0x8000000080008008
KECCAK_RNDC_00, KECCAK_RNDC_01, KECCAK_RNDC_02, KECCAK_RNDC_03,
KECCAK_RNDC_04, KECCAK_RNDC_05, KECCAK_RNDC_06, KECCAK_RNDC_07,
KECCAK_RNDC_08, KECCAK_RNDC_09, KECCAK_RNDC_10, KECCAK_RNDC_11,
KECCAK_RNDC_12, KECCAK_RNDC_13, KECCAK_RNDC_14, KECCAK_RNDC_15,
KECCAK_RNDC_16, KECCAK_RNDC_17, KECCAK_RNDC_18, KECCAK_RNDC_19,
KECCAK_RNDC_20, KECCAK_RNDC_21, KECCAK_RNDC_22, KECCAK_RNDC_23
};
DECLSPEC void keccak_transform_S (u64 *st)
@ -653,7 +651,7 @@ KERNEL_FQ void m15700_comp (KERN_ATTR_TMPS_ESALT (scrypt_tmp_t, ethereum_scrypt_
const u32 add80w = (rsiz - 1) / 8;
st[add80w] |= 0x8000000000000000;
st[add80w] |= 0x8000000000000000UL;
keccak_transform_S (st);

@ -38,14 +38,12 @@ typedef struct pbkdf2_sha256_tmp
CONSTANT_VK u64a keccakf_rndc[24] =
{
0x0000000000000001, 0x0000000000008082, 0x800000000000808a,
0x8000000080008000, 0x000000000000808b, 0x0000000080000001,
0x8000000080008081, 0x8000000000008009, 0x000000000000008a,
0x0000000000000088, 0x0000000080008009, 0x000000008000000a,
0x000000008000808b, 0x800000000000008b, 0x8000000000008089,
0x8000000000008003, 0x8000000000008002, 0x8000000000000080,
0x000000000000800a, 0x800000008000000a, 0x8000000080008081,
0x8000000000008080, 0x0000000080000001, 0x8000000080008008
KECCAK_RNDC_00, KECCAK_RNDC_01, KECCAK_RNDC_02, KECCAK_RNDC_03,
KECCAK_RNDC_04, KECCAK_RNDC_05, KECCAK_RNDC_06, KECCAK_RNDC_07,
KECCAK_RNDC_08, KECCAK_RNDC_09, KECCAK_RNDC_10, KECCAK_RNDC_11,
KECCAK_RNDC_12, KECCAK_RNDC_13, KECCAK_RNDC_14, KECCAK_RNDC_15,
KECCAK_RNDC_16, KECCAK_RNDC_17, KECCAK_RNDC_18, KECCAK_RNDC_19,
KECCAK_RNDC_20, KECCAK_RNDC_21, KECCAK_RNDC_22, KECCAK_RNDC_23
};
#ifndef KECCAK_ROUNDS
@ -552,186 +550,186 @@ KERNEL_FQ void m16300_comp (KERN_ATTR_TMPS_ESALT (pbkdf2_sha256_tmp_t, ethereum_
switch (padding_len)
{
case 16:
if (((seed[seed_idx - 1] & 0xffffffffffffffff) != 0x1010101010101010) ||
((seed[seed_idx - 2] & 0xffffffffffffffff) != 0x1010101010101010))
if (((seed[seed_idx - 1] & 0xffffffffffffffffUL) != 0x1010101010101010UL) ||
((seed[seed_idx - 2] & 0xffffffffffffffffUL) != 0x1010101010101010UL))
{
return;
}
seed[seed_idx - 2] = 0x0102;
seed[seed_idx - 1] = 0;
seed[seed_idx - 2] = 0x0102UL;
seed[seed_idx - 1] = 0UL;
break;
case 15:
if (((seed[seed_idx - 1] & 0xffffffffffffffff) != 0x0f0f0f0f0f0f0f0f) ||
((seed[seed_idx - 2] & 0xffffffffffffff00) != 0x0f0f0f0f0f0f0f00))
if (((seed[seed_idx - 1] & 0xffffffffffffffffUL) != 0x0f0f0f0f0f0f0f0fUL) ||
((seed[seed_idx - 2] & 0xffffffffffffff00UL) != 0x0f0f0f0f0f0f0f00UL))
{
return;
}
seed[seed_idx - 2] &= 0x00000000000000ff;
seed[seed_idx - 2] |= 0x0000000000010200;
seed[seed_idx - 1] = 0;
seed[seed_idx - 2] &= 0x00000000000000ffUL;
seed[seed_idx - 2] |= 0x0000000000010200UL;
seed[seed_idx - 1] = 0UL;
break;
case 14:
if (((seed[seed_idx - 1] & 0xffffffffffffffff) != 0x0e0e0e0e0e0e0e0e) ||
((seed[seed_idx - 2] & 0xffffffffffff0000) != 0x0e0e0e0e0e0e0000))
if (((seed[seed_idx - 1] & 0xffffffffffffffffUL) != 0x0e0e0e0e0e0e0e0eUL) ||
((seed[seed_idx - 2] & 0xffffffffffff0000UL) != 0x0e0e0e0e0e0e0000UL))
{
return;
}
seed[seed_idx - 2] &= 0x000000000000ffff;
seed[seed_idx - 2] |= 0x0000000001020000;
seed[seed_idx - 1] = 0;
seed[seed_idx - 2] &= 0x000000000000ffffUL;
seed[seed_idx - 2] |= 0x0000000001020000UL;
seed[seed_idx - 1] = 0UL;
break;
case 13:
if (((seed[seed_idx - 1] & 0xffffffffffffffff) != 0x0d0d0d0d0d0d0d0d) ||
((seed[seed_idx - 2] & 0xffffffffff000000) != 0x0d0d0d0d0d000000))
if (((seed[seed_idx - 1] & 0xffffffffffffffffUL) != 0x0d0d0d0d0d0d0d0dUL) ||
((seed[seed_idx - 2] & 0xffffffffff000000UL) != 0x0d0d0d0d0d000000UL))
{
return;
}
seed[seed_idx - 2] &= 0x0000000000ffffff;
seed[seed_idx - 2] |= 0x0000000102000000;
seed[seed_idx - 1] = 0;
seed[seed_idx - 2] &= 0x0000000000ffffffUL;
seed[seed_idx - 2] |= 0x0000000102000000UL;
seed[seed_idx - 1] = 0UL;
break;
case 12:
if (((seed[seed_idx - 1] & 0xffffffffffffffff) != 0x0c0c0c0c0c0c0c0c) ||
((seed[seed_idx - 2] & 0xffffffff00000000) != 0x0c0c0c0c00000000))
if (((seed[seed_idx - 1] & 0xffffffffffffffffUL) != 0x0c0c0c0c0c0c0c0cUL) ||
((seed[seed_idx - 2] & 0xffffffff00000000UL) != 0x0c0c0c0c00000000UL))
{
return;
}
seed[seed_idx - 2] &= 0x00000000ffffffff;
seed[seed_idx - 2] |= 0x0000010200000000;
seed[seed_idx - 1] = 0;
seed[seed_idx - 2] &= 0x00000000ffffffffUL;
seed[seed_idx - 2] |= 0x0000010200000000UL;
seed[seed_idx - 1] = 0UL;
break;
case 11:
if (((seed[seed_idx - 1] & 0xffffffffffffffff) != 0x0b0b0b0b0b0b0b0b) ||
((seed[seed_idx - 2] & 0xffffff0000000000) != 0x0b0b0b0000000000))
if (((seed[seed_idx - 1] & 0xffffffffffffffffUL) != 0x0b0b0b0b0b0b0b0bUL) ||
((seed[seed_idx - 2] & 0xffffff0000000000UL) != 0x0b0b0b0000000000UL))
{
return;
}
seed[seed_idx - 2] &= 0x000000ffffffffff;
seed[seed_idx - 2] |= 0x0001020000000000;
seed[seed_idx - 1] = 0;
seed[seed_idx - 2] &= 0x000000ffffffffffUL;
seed[seed_idx - 2] |= 0x0001020000000000UL;
seed[seed_idx - 1] = 0UL;
break;
case 10:
if (((seed[seed_idx - 1] & 0xffffffffffffffff) != 0x0a0a0a0a0a0a0a0a) ||
((seed[seed_idx - 2] & 0xffff000000000000) != 0x0a0a000000000000))
if (((seed[seed_idx - 1] & 0xffffffffffffffffUL) != 0x0a0a0a0a0a0a0a0aUL) ||
((seed[seed_idx - 2] & 0xffff000000000000UL) != 0x0a0a000000000000UL))
{
return;
}
seed[seed_idx - 2] &= 0x0000ffffffffffff;
seed[seed_idx - 2] |= 0x0102000000000000;
seed[seed_idx - 1] = 0;
seed[seed_idx - 2] &= 0x0000ffffffffffffUL;
seed[seed_idx - 2] |= 0x0102000000000000UL;
seed[seed_idx - 1] = 0UL;
break;
case 9:
if (((seed[seed_idx - 1] & 0xffffffffffffffff) != 0x0909090909090909) ||
((seed[seed_idx - 2] & 0xff00000000000000) != 0x0900000000000000))
if (((seed[seed_idx - 1] & 0xffffffffffffffffUL) != 0x0909090909090909UL) ||
((seed[seed_idx - 2] & 0xff00000000000000UL) != 0x0900000000000000UL))
{
return;
}
seed[seed_idx - 2] &= 0x00ffffffffffffff;
seed[seed_idx - 2] |= 0x0200000000000000;
seed[seed_idx - 1] = 0x01;
seed[seed_idx - 2] &= 0x00ffffffffffffffUL;
seed[seed_idx - 2] |= 0x0200000000000000UL;
seed[seed_idx - 1] = 0x01UL;
break;
case 8:
if (((seed[seed_idx - 1] & 0xffffffffffffffff) != 0x0808080808080808) ||
((seed[seed_idx - 2] & 0x0000000000000000) != 0x0000000000000000))
if (((seed[seed_idx - 1] & 0xffffffffffffffffUL) != 0x0808080808080808UL) ||
((seed[seed_idx - 2] & 0x0000000000000000UL) != 0x0000000000000000UL))
{
return;
}
seed[seed_idx - 1] = 0x0102;
seed[seed_idx - 1] = 0x0102UL;
break;
case 7:
if (((seed[seed_idx - 1] & 0xffffffffffffff00) != 0x0707070707070700) ||
((seed[seed_idx - 2] & 0x0000000000000000) != 0x0000000000000000))
if (((seed[seed_idx - 1] & 0xffffffffffffff00UL) != 0x0707070707070700UL) ||
((seed[seed_idx - 2] & 0x0000000000000000UL) != 0x0000000000000000UL))
{
return;
}
seed[seed_idx - 1] &= 0x00000000000000ff;
seed[seed_idx - 1] |= 0x0000000000010200;
seed[seed_idx - 1] &= 0x00000000000000ffUL;
seed[seed_idx - 1] |= 0x0000000000010200UL;
break;
case 6:
if (((seed[seed_idx - 1] & 0xffffffffffff0000) != 0x0606060606060000) ||
((seed[seed_idx - 2] & 0x0000000000000000) != 0x0000000000000000))
if (((seed[seed_idx - 1] & 0xffffffffffff0000UL) != 0x0606060606060000UL) ||
((seed[seed_idx - 2] & 0x0000000000000000UL) != 0x0000000000000000UL))
{
return;
}
seed[seed_idx - 1] &= 0x000000000000ffff;
seed[seed_idx - 1] |= 0x0000000001020000;
seed[seed_idx - 1] &= 0x000000000000ffffUL;
seed[seed_idx - 1] |= 0x0000000001020000UL;
break;
case 5:
if (((seed[seed_idx - 1] & 0xffffffffff000000) != 0x0505050505000000) ||
((seed[seed_idx - 2] & 0x0000000000000000) != 0x0000000000000000))
if (((seed[seed_idx - 1] & 0xffffffffff000000UL) != 0x0505050505000000UL) ||
((seed[seed_idx - 2] & 0x0000000000000000UL) != 0x0000000000000000UL))
{
return;
}
seed[seed_idx - 1] &= 0x0000000000ffffff;
seed[seed_idx - 1] |= 0x0000000102000000;
seed[seed_idx - 1] &= 0x0000000000ffffffUL;
seed[seed_idx - 1] |= 0x0000000102000000UL;
break;
case 4:
if (((seed[seed_idx - 1] & 0xffffffff00000000) != 0x0404040400000000) ||
((seed[seed_idx - 2] & 0x0000000000000000) != 0x0000000000000000))
if (((seed[seed_idx - 1] & 0xffffffff00000000UL) != 0x0404040400000000UL) ||
((seed[seed_idx - 2] & 0x0000000000000000UL) != 0x0000000000000000UL))
{
return;
}
seed[seed_idx - 1] &= 0x00000000ffffffff;
seed[seed_idx - 1] |= 0x0000010200000000;
seed[seed_idx - 1] &= 0x00000000ffffffffUL;
seed[seed_idx - 1] |= 0x0000010200000000UL;
break;
case 3:
if (((seed[seed_idx - 1] & 0xffffff0000000000) != 0x0303030000000000) ||
((seed[seed_idx - 2] & 0x0000000000000000) != 0x0000000000000000))
if (((seed[seed_idx - 1] & 0xffffff0000000000UL) != 0x0303030000000000UL) ||
((seed[seed_idx - 2] & 0x0000000000000000UL) != 0x0000000000000000UL))
{
return;
}
seed[seed_idx - 1] &= 0x000000ffffffffff;
seed[seed_idx - 1] |= 0x0001020000000000;
seed[seed_idx - 1] &= 0x000000ffffffffffUL;
seed[seed_idx - 1] |= 0x0001020000000000UL;
break;
case 2:
if (((seed[seed_idx - 1] & 0xffff000000000000) != 0x0202000000000000) ||
((seed[seed_idx - 2] & 0x0000000000000000) != 0x0000000000000000))
if (((seed[seed_idx - 1] & 0xffff000000000000UL) != 0x0202000000000000UL) ||
((seed[seed_idx - 2] & 0x0000000000000000UL) != 0x0000000000000000UL))
{
return;
}
seed[seed_idx - 1] &= 0x0000ffffffffffff;
seed[seed_idx - 1] |= 0x0102000000000000;
seed[seed_idx - 1] &= 0x0000ffffffffffffUL;
seed[seed_idx - 1] |= 0x0102000000000000UL;
break;
case 1:
if (((seed[seed_idx - 1] & 0xff00000000000000) != 0x0100000000000000) ||
((seed[seed_idx - 2] & 0x0000000000000000) != 0x0000000000000000))
if (((seed[seed_idx - 1] & 0xff00000000000000UL) != 0x0100000000000000UL) ||
((seed[seed_idx - 2] & 0x0000000000000000UL) != 0x0000000000000000UL))
{
return;
}
seed[seed_idx - 1] &= 0x00ffffffffffffff;
seed[seed_idx - 1] |= 0x0200000000000000;
seed[seed_idx - 0] = 0x01;
seed[seed_idx - 1] &= 0x00ffffffffffffffUL;
seed[seed_idx - 1] |= 0x0200000000000000UL;
seed[seed_idx - 0] = 0x01UL;
break;
default:
@ -761,7 +759,7 @@ KERNEL_FQ void m16300_comp (KERN_ATTR_TMPS_ESALT (pbkdf2_sha256_tmp_t, ethereum_
// final:
st[16] ^= 0x8000000000000000;
st[16] ^= 0x8000000000000000UL;
keccak_transform_S (st);

Loading…
Cancel
Save