From e279e0c2b3b30cd1cd66f40f85644c6c23ecf230 Mon Sep 17 00:00:00 2001 From: jsteube Date: Thu, 26 May 2016 19:47:01 +0200 Subject: [PATCH] Improve GOST R 34.11-2012 (Streebog) speed --- OpenCL/m11700_a3.cl | 15 +++------------ OpenCL/m11800_a3.cl | 15 +++------------ 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/OpenCL/m11700_a3.cl b/OpenCL/m11700_a3.cl index 0224f23..a62ad73 100644 --- a/OpenCL/m11700_a3.cl +++ b/OpenCL/m11700_a3.cl @@ -2248,22 +2248,19 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256]) u64x s[8]; u64x t[8]; - #ifdef _unroll - #pragma unroll - #endif for (int i = 0; i < 8; i++) { t[i] = h[i]; } + #ifdef _unroll + #pragma unroll + #endif for (int i = 0; i < 8; i++) { k[i] = SBOG_LPSti64; } - #ifdef _unroll - #pragma unroll - #endif for (int i = 0; i < 8; i++) { s[i] = m[i]; @@ -2271,9 +2268,6 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256]) for (int r = 0; r < 12; r++) { - #ifdef _unroll - #pragma unroll - #endif for (int i = 0; i < 8; i++) { t[i] = s[i] ^ k[i]; @@ -2301,9 +2295,6 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256]) } } - #ifdef _unroll - #pragma unroll - #endif for (int i = 0; i < 8; i++) { h[i] ^= s[i] ^ k[i] ^ m[i]; diff --git a/OpenCL/m11800_a3.cl b/OpenCL/m11800_a3.cl index 4ef9bb0..5dd6c99 100644 --- a/OpenCL/m11800_a3.cl +++ b/OpenCL/m11800_a3.cl @@ -2248,22 +2248,19 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256]) u64x s[8]; u64x t[8]; - #ifdef _unroll - #pragma unroll - #endif for (int i = 0; i < 8; i++) { t[i] = h[i]; } + #ifdef _unroll + #pragma unroll + #endif for (int i = 0; i < 8; i++) { k[i] = SBOG_LPSti64; } - #ifdef _unroll - #pragma unroll - #endif for (int i = 0; i < 8; i++) { s[i] = m[i]; @@ -2271,9 +2268,6 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256]) for (int r = 0; r < 12; r++) { - #ifdef _unroll - #pragma unroll - #endif for (int i = 0; i < 8; i++) { t[i] = s[i] ^ k[i]; @@ -2301,9 +2295,6 @@ void streebog_g (u64x h[8], const u64x m[8], __local u64 (*s_sbob_sl64)[256]) } } - #ifdef _unroll - #pragma unroll - #endif for (int i = 0; i < 8; i++) { h[i] ^= s[i] ^ k[i] ^ m[i]; -- 2.43.0