From 5fc3d7550e5724b2c8abf373dc7b5c33acaf02b3 Mon Sep 17 00:00:00 2001 From: Gabriele Gristina Date: Sun, 13 Feb 2022 10:48:20 +0100 Subject: [PATCH] Added missing code to get vectors work with Metal on hash-type 4510 --- OpenCL/m04510_a0-optimized.cl | 18 +++++++++--------- OpenCL/m04510_a1-optimized.cl | 18 +++++++++--------- OpenCL/m04510_a3-optimized.cl | 18 +++++++++--------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/OpenCL/m04510_a0-optimized.cl b/OpenCL/m04510_a0-optimized.cl index ea523220c..59b5994f5 100644 --- a/OpenCL/m04510_a0-optimized.cl +++ b/OpenCL/m04510_a0-optimized.cl @@ -1015,10 +1015,10 @@ KERNEL_FQ void m04510_m04 (KERN_ATTR_RULES ()) wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); - b += digest[1] - SHA1M_B; - c += digest[2] - SHA1M_C; - d += digest[3] - SHA1M_D; - e += digest[4] - SHA1M_E; + b += digest[1] - make_u32x (SHA1M_B); + c += digest[2] - make_u32x (SHA1M_C); + d += digest[3] - make_u32x (SHA1M_D); + e += digest[4] - make_u32x (SHA1M_E); COMPARE_M_SIMD (d, e, c, b); } @@ -2028,7 +2028,7 @@ KERNEL_FQ void m04510_s04 (KERN_ATTR_RULES ()) wd_t = hc_rotl32 ((wa_t ^ w5_t ^ wf_t ^ wd_t), 1u); SHA1_STEP (SHA1_F1, d, e, a, b, c, wd_t); - if (MATCHES_NONE_VS (e + digest[4] - SHA1M_E, search[1])) + if (MATCHES_NONE_VS ((e + digest[4] - make_u32x (SHA1M_E)), search[1])) continue; we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); @@ -2036,10 +2036,10 @@ KERNEL_FQ void m04510_s04 (KERN_ATTR_RULES ()) wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); - b += digest[1] - SHA1M_B; - c += digest[2] - SHA1M_C; - d += digest[3] - SHA1M_D; - e += digest[4] - SHA1M_E; + b += digest[1] - make_u32x (SHA1M_B); + c += digest[2] - make_u32x (SHA1M_C); + d += digest[3] - make_u32x (SHA1M_D); + e += digest[4] - make_u32x (SHA1M_E); COMPARE_S_SIMD (d, e, c, b); } diff --git a/OpenCL/m04510_a1-optimized.cl b/OpenCL/m04510_a1-optimized.cl index c69749488..5c94dbbd1 100644 --- a/OpenCL/m04510_a1-optimized.cl +++ b/OpenCL/m04510_a1-optimized.cl @@ -1070,10 +1070,10 @@ KERNEL_FQ void m04510_m04 (KERN_ATTR_BASIC ()) wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); - b += digest[1] - SHA1M_B; - c += digest[2] - SHA1M_C; - d += digest[3] - SHA1M_D; - e += digest[4] - SHA1M_E; + b += digest[1] - make_u32x (SHA1M_B); + c += digest[2] - make_u32x (SHA1M_C); + d += digest[3] - make_u32x (SHA1M_D); + e += digest[4] - make_u32x (SHA1M_E); COMPARE_M_SIMD (d, e, c, b); } @@ -2140,7 +2140,7 @@ KERNEL_FQ void m04510_s04 (KERN_ATTR_BASIC ()) wd_t = hc_rotl32 ((wa_t ^ w5_t ^ wf_t ^ wd_t), 1u); SHA1_STEP (SHA1_F1, d, e, a, b, c, wd_t); - if (MATCHES_NONE_VS (e + digest[4] - SHA1M_E, search[1])) + if (MATCHES_NONE_VS ((e + digest[4] - make_u32x (SHA1M_E)), search[1])) continue; we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); @@ -2148,10 +2148,10 @@ KERNEL_FQ void m04510_s04 (KERN_ATTR_BASIC ()) wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); - b += digest[1] - SHA1M_B; - c += digest[2] - SHA1M_C; - d += digest[3] - SHA1M_D; - e += digest[4] - SHA1M_E; + b += digest[1] - make_u32x (SHA1M_B); + c += digest[2] - make_u32x (SHA1M_C); + d += digest[3] - make_u32x (SHA1M_D); + e += digest[4] - make_u32x (SHA1M_E); COMPARE_S_SIMD (d, e, c, b); } diff --git a/OpenCL/m04510_a3-optimized.cl b/OpenCL/m04510_a3-optimized.cl index 6b170f2c7..685b6f9a8 100644 --- a/OpenCL/m04510_a3-optimized.cl +++ b/OpenCL/m04510_a3-optimized.cl @@ -969,10 +969,10 @@ DECLSPEC void m04510m (PRIVATE_AS u32 *w0, PRIVATE_AS u32 *w1, PRIVATE_AS u32 *w wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); - b += digest[1] - SHA1M_B; - c += digest[2] - SHA1M_C; - d += digest[3] - SHA1M_D; - e += digest[4] - SHA1M_E; + b += digest[1] - make_u32x (SHA1M_B); + c += digest[2] - make_u32x (SHA1M_C); + d += digest[3] - make_u32x (SHA1M_D); + e += digest[4] - make_u32x (SHA1M_E); COMPARE_M_SIMD (d, e, c, b); } @@ -1930,7 +1930,7 @@ DECLSPEC void m04510s (PRIVATE_AS u32 *w0, PRIVATE_AS u32 *w1, PRIVATE_AS u32 *w wd_t = hc_rotl32 ((wa_t ^ w5_t ^ wf_t ^ wd_t), 1u); SHA1_STEP (SHA1_F1, d, e, a, b, c, wd_t); - if (MATCHES_NONE_VS (e + digest[4] - SHA1M_E, search[1])) + if (MATCHES_NONE_VS ((e + digest[4] - make_u32x (SHA1M_E)), search[1])) continue; we_t = hc_rotl32 ((wb_t ^ w6_t ^ w0_t ^ we_t), 1u); @@ -1938,10 +1938,10 @@ DECLSPEC void m04510s (PRIVATE_AS u32 *w0, PRIVATE_AS u32 *w1, PRIVATE_AS u32 *w wf_t = hc_rotl32 ((wc_t ^ w7_t ^ w1_t ^ wf_t), 1u); SHA1_STEP (SHA1_F1, b, c, d, e, a, wf_t); - b += digest[1] - SHA1M_B; - c += digest[2] - SHA1M_C; - d += digest[3] - SHA1M_D; - e += digest[4] - SHA1M_E; + b += digest[1] - make_u32x (SHA1M_B); + c += digest[2] - make_u32x (SHA1M_C); + d += digest[3] - make_u32x (SHA1M_D); + e += digest[4] - make_u32x (SHA1M_E); COMPARE_S_SIMD (d, e, c, b); }