#include <string.h>
-#ifdef OPENSSL_IA32_SSE2
-# ifdef __MMX__
-# ifdef __SSE2__
-# define __GOST3411_HAS_SSE2__
-# endif
-# endif
+#ifdef __SSE2__
+# define __GOST3411_HAS_SSE2__
#endif
#ifdef __GOST3411_HAS_SSE2__
#ifndef L_ENDIAN
# define __GOST3411_BIG_ENDIAN__
#endif
+
#if defined __GOST3411_HAS_SSE2__
# include "gosthash2012_sse2.h"
#else
ALIGN(16)
typedef union uint512_u {
unsigned long long QWORD[8];
+ unsigned char B[64];
} uint512_u;
#include "gosthash2012_const.h"
/* GOST R 34.11-2012 hash context */
typedef struct gost2012_hash_ctx {
- unsigned char buffer[64];
+ union uint512_u buffer;
union uint512_u h;
union uint512_u N;
union uint512_u Sigma;