From df3f4a439a86a1f76e511986b73ddfb18f6c4b2f Mon Sep 17 00:00:00 2001 From: jsteube Date: Sat, 21 May 2016 10:58:58 +0200 Subject: [PATCH] We can safely replace atomic_add() with atomic_inc() --- OpenCL/check_multi_comp4.c | 2 +- OpenCL/check_multi_comp4_bs.c | 2 +- OpenCL/check_single_comp4.c | 2 +- OpenCL/check_single_comp4_bs.c | 5 +- OpenCL/common.c | 2 +- OpenCL/simd.c | 124 ++++++++++++++++----------------- 6 files changed, 70 insertions(+), 67 deletions(-) diff --git a/OpenCL/check_multi_comp4.c b/OpenCL/check_multi_comp4.c index f45a03b..14ad55c 100644 --- a/OpenCL/check_multi_comp4.c +++ b/OpenCL/check_multi_comp4.c @@ -24,7 +24,7 @@ if (check (digest_tp, { const u32 final_hash_pos = digests_offset + digest_pos; - if (atomic_add (&hashes_shown[final_hash_pos], 1) == 0) + if (atomic_inc (&hashes_shown[final_hash_pos]) == 0) { mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos); } diff --git a/OpenCL/check_multi_comp4_bs.c b/OpenCL/check_multi_comp4_bs.c index 0fbcd7b..6546a97 100644 --- a/OpenCL/check_multi_comp4_bs.c +++ b/OpenCL/check_multi_comp4_bs.c @@ -24,7 +24,7 @@ if (check (digest_tp, { const u32 final_hash_pos = digests_offset + digest_pos; - if (atomic_add (&hashes_shown[final_hash_pos], 1) == 0) + if (atomic_inc (&hashes_shown[final_hash_pos]) == 0) { mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + slice); } diff --git a/OpenCL/check_single_comp4.c b/OpenCL/check_single_comp4.c index f754d8e..631a8bc 100644 --- a/OpenCL/check_single_comp4.c +++ b/OpenCL/check_single_comp4.c @@ -5,7 +5,7 @@ if ((r0 == search[0]) { const u32 final_hash_pos = digests_offset + 0; - if (atomic_add (&hashes_shown[final_hash_pos], 1) == 0) + if (atomic_inc (&hashes_shown[final_hash_pos]) == 0) { mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos); } diff --git a/OpenCL/check_single_comp4_bs.c b/OpenCL/check_single_comp4_bs.c index 6ec99d7..5c081c1 100644 --- a/OpenCL/check_single_comp4_bs.c +++ b/OpenCL/check_single_comp4_bs.c @@ -1,3 +1,6 @@ const u32 final_hash_pos = digests_offset + 0; -mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + slice); +if (atomic_inc (&hashes_shown[final_hash_pos]) == 0) +{ + mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos); +} diff --git a/OpenCL/common.c b/OpenCL/common.c index 63d5acf..ca811e5 100644 --- a/OpenCL/common.c +++ b/OpenCL/common.c @@ -66,7 +66,7 @@ inline u32 check (const u32 digest[2], __global u32 *bitmap_s1_a, __global u32 * inline void mark_hash (__global plain_t *plains_buf, __global u32 *d_result, const int salt_pos, const int digest_pos, const int hash_pos, const u32 gid, const u32 il_pos) { - const u32 idx = atomic_add (d_result, 1); + const u32 idx = atomic_inc (d_result); plains_buf[idx].salt_pos = salt_pos; plains_buf[idx].digest_pos = digest_pos; // relative diff --git a/OpenCL/simd.c b/OpenCL/simd.c index 22a9f29..882e320 100644 --- a/OpenCL/simd.c +++ b/OpenCL/simd.c @@ -18,7 +18,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (atomic_add (&hashes_shown[final_hash_pos], 1) == 0) \ + if (atomic_inc (&hashes_shown[final_hash_pos]) == 0) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos); \ } \ @@ -42,7 +42,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (atomic_add (&hashes_shown[final_hash_pos], 1) == 0) \ + if (atomic_inc (&hashes_shown[final_hash_pos]) == 0) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos); \ } \ @@ -67,7 +67,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 0) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 0) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 0); \ } \ @@ -77,7 +77,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 1) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 1) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 1); \ } \ @@ -102,7 +102,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 0) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 0) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 0); \ } \ @@ -122,7 +122,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 1) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 1) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 1); \ } \ @@ -145,7 +145,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 0) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 0) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 0); \ } \ @@ -155,7 +155,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 1) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 1) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 1); \ } \ @@ -165,7 +165,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 2) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 2) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 2); \ } \ @@ -175,7 +175,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 3) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 3) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 3); \ } \ @@ -202,7 +202,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 0) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 0) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 0); \ } \ @@ -222,7 +222,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 1) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 1) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 1); \ } \ @@ -242,7 +242,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 2) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 2) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 2); \ } \ @@ -262,7 +262,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 3) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 3) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 3); \ } \ @@ -285,7 +285,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 0) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 0) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 0); \ } \ @@ -295,7 +295,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 1) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 1) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 1); \ } \ @@ -305,7 +305,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 2) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 2) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 2); \ } \ @@ -315,7 +315,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 3) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 3) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 3); \ } \ @@ -324,7 +324,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 4) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 4) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 4); \ } \ @@ -334,7 +334,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 5) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 5) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 5); \ } \ @@ -344,7 +344,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 6) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 6) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 6); \ } \ @@ -354,7 +354,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 7) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 7) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 7); \ } \ @@ -385,7 +385,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 0) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 0) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 0); \ } \ @@ -405,7 +405,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 1) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 1) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 1); \ } \ @@ -425,7 +425,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 2) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 2) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 2); \ } \ @@ -445,7 +445,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 3) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 3) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 3); \ } \ @@ -464,7 +464,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 4) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 4) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 4); \ } \ @@ -484,7 +484,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 5) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 5) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 5); \ } \ @@ -504,7 +504,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 6) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 6) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 6); \ } \ @@ -524,7 +524,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 7) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 7) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 7); \ } \ @@ -547,7 +547,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 0) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 0) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 0); \ } \ @@ -557,7 +557,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 1) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 1) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 1); \ } \ @@ -567,7 +567,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 2) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 2) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 2); \ } \ @@ -577,7 +577,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 3) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 3) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 3); \ } \ @@ -586,7 +586,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 4) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 4) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 4); \ } \ @@ -596,7 +596,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 5) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 5) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 5); \ } \ @@ -606,7 +606,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 6) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 6) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 6); \ } \ @@ -616,7 +616,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 7) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 7) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 7); \ } \ @@ -626,7 +626,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 8) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 8) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 8); \ } \ @@ -636,7 +636,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 9) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 9) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 9); \ } \ @@ -646,7 +646,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 10) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 10) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 10); \ } \ @@ -656,7 +656,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 11) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 11) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 11); \ } \ @@ -666,7 +666,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 12) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 12) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 12); \ } \ @@ -676,7 +676,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 13) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 13) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 13); \ } \ @@ -686,7 +686,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 14) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 14) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 14); \ } \ @@ -696,7 +696,7 @@ { \ const u32 final_hash_pos = digests_offset + 0; \ \ - if (vector_accessible (il_pos, il_cnt, 15) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 15) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, 0, final_hash_pos, gid, il_pos + 15); \ } \ @@ -735,7 +735,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 0) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 0) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 0); \ } \ @@ -755,7 +755,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 1) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 1) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 1); \ } \ @@ -775,7 +775,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 2) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 2) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 2); \ } \ @@ -795,7 +795,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 3) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 3) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 3); \ } \ @@ -815,7 +815,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 4) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 4) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 4); \ } \ @@ -835,7 +835,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 5) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 5) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 5); \ } \ @@ -855,7 +855,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 6) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 6) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 6); \ } \ @@ -875,7 +875,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 7) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 7) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 7); \ } \ @@ -895,7 +895,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 8) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 8) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 8); \ } \ @@ -915,7 +915,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 9) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 9) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 9); \ } \ @@ -935,7 +935,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 10) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 10) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 10); \ } \ @@ -955,7 +955,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 11) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 11) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 11); \ } \ @@ -975,7 +975,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 12) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 12) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 12); \ } \ @@ -995,7 +995,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 13) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 13) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 13); \ } \ @@ -1015,7 +1015,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 14) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 14) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 14); \ } \ @@ -1035,7 +1035,7 @@ { \ const u32 final_hash_pos = digests_offset + digest_pos; \ \ - if (vector_accessible (il_pos, il_cnt, 15) && (atomic_add (&hashes_shown[final_hash_pos], 1) == 0)) \ + if (vector_accessible (il_pos, il_cnt, 15) && (atomic_inc (&hashes_shown[final_hash_pos]) == 0)) \ { \ mark_hash (plains_buf, d_return_buf, salt_pos, digest_pos, final_hash_pos, gid, il_pos + 15); \ } \ -- 2.25.1