#define _GOST2012_256_
-#define NEW_SIMD_CODE
+//too much register pressure
+//#define NEW_SIMD_CODE
#include "include/constants.h"
#include "include/kernel_vendor.h"
*/
u32 pw_buf0[4];
+ u32 pw_buf1[4];
pw_buf0[0] = pws[gid].i[ 0];
pw_buf0[1] = pws[gid].i[ 1];
pw_buf0[2] = pws[gid].i[ 2];
pw_buf0[3] = pws[gid].i[ 3];
-
- u32 pw_buf1[4];
-
pw_buf1[0] = pws[gid].i[ 4];
pw_buf1[1] = pws[gid].i[ 5];
pw_buf1[2] = pws[gid].i[ 6];
append_0x01_2x4_VV (w0, w1, out_len);
+ /**
+ * GOST
+ */
+
u32x w[16];
w[ 0] = w0[0];
z[4] = 0;
z[5] = 0;
z[6] = 0;
- z[7] = swap64 ((u64) (out_len * 8)); // maybe a bug
+ z[7] = swap64 ((u64) (pw_len * 8));
streebog_g (h, z, s_sbob_sl64);
streebog_g (h, m, s_sbob_sl64);
*/
u32 pw_buf0[4];
+ u32 pw_buf1[4];
pw_buf0[0] = pws[gid].i[ 0];
pw_buf0[1] = pws[gid].i[ 1];
pw_buf0[2] = pws[gid].i[ 2];
pw_buf0[3] = pws[gid].i[ 3];
-
- u32 pw_buf1[4];
-
pw_buf1[0] = pws[gid].i[ 4];
pw_buf1[1] = pws[gid].i[ 5];
pw_buf1[2] = pws[gid].i[ 6];
append_0x01_2x4_VV (w0, w1, out_len);
+ /**
+ * GOST
+ */
+
u32x w[16];
w[ 0] = w0[0];
z[4] = 0;
z[5] = 0;
z[6] = 0;
- z[7] = swap64 ((u64) (out_len * 8)); // maybe a bug
+ z[7] = swap64 ((u64) (pw_len * 8));
streebog_g (h, z, s_sbob_sl64);
streebog_g (h, m, s_sbob_sl64);