diff --git a/OpenCL/m00600_a3.cl b/OpenCL/m00600_a3.cl index b16e14f79..33637f2e4 100644 --- a/OpenCL/m00600_a3.cl +++ b/OpenCL/m00600_a3.cl @@ -216,11 +216,10 @@ void blake2b_compress (const u32x pw[16], const u64 pw_len, u64x digest[8]) BLAKE2B_ROUND(10); BLAKE2B_ROUND(11); - for (i = 0; i < 8; ++i) + for (i = 0; i < 8; ++i) { S->h[i] = S->h[i] ^ v[i] ^ v[i + 8]; - - for (i = 0; i < 8; ++i) digest[i] = load64_reverse(&(S->h[i])); + } } void m00600s (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __global const comb_t *combs_buf, __global const u32x *words_buf_r, __global void *tmps, __global void *hooks, __global const u32 *bitmaps_buf_s1_a, __global const u32 *bitmaps_buf_s1_b, __global const u32 *bitmaps_buf_s1_c, __global const u32 *bitmaps_buf_s1_d, __global const u32 *bitmaps_buf_s2_a, __global const u32 *bitmaps_buf_s2_b, __global const u32 *bitmaps_buf_s2_c, __global const u32 *bitmaps_buf_s2_d, __global plain_t *plains_buf, __global const digest_t *digests_buf, __global u32 *hashes_shown, __global const salt_t *salt_bufs, __global const void *esalt_bufs, __global u32 *d_return_buf, __global u32 *d_scryptV0_buf, __global u32 *d_scryptV1_buf, __global u32 *d_scryptV2_buf, __global u32 *d_scryptV3_buf, const u32 bitmap_mask, const u32 bitmap_shift1, const u32 bitmap_shift2, const u32 salt_pos, const u32 loop_pos, const u32 loop_cnt, const u32 il_cnt, const u32 digests_cnt, const u32 digests_offset) @@ -250,8 +249,8 @@ void m00600s (__global pw_t *pws, __global const kernel_rule_t *rules_buf, __glo u32 w0l = pws[gid].i[0]; - for (u32 il_pos = 0; il_pos < il_cnt; il_pos += VECT_SIZE) - { + for (u32 il_pos = 0; il_pos < il_cnt; il_pos += VECT_SIZE) { + const u32x w0r = words_buf_r[il_pos / VECT_SIZE]; const u32x w0 = w0l | w0r; u32x pw[16];