mirror of
https://github.com/GOSTSec/ccminer
synced 2025-03-10 12:31:35 +00:00
eliminate extra copy
This commit is contained in:
parent
3f543538a1
commit
54b898cb78
@ -684,20 +684,22 @@ static void GOST_F(uint64_t* state)
|
||||
|
||||
|
||||
__device__
|
||||
static void GOST_E12(uint64_t* K, uint64_t *state)
|
||||
static void GOST_E12(uint64_t* const K, uint64_t *state)
|
||||
{
|
||||
uint64_t state1[8], K1[8];
|
||||
GOST_Copy512(K1, K);
|
||||
//#pragma unroll 1
|
||||
for(int i=0; i<12; i++)
|
||||
{
|
||||
GOST_F(state);
|
||||
GOST_Xor512(K, K, CC[i]);
|
||||
GOST_F(K);
|
||||
GOST_Xor512(state, state, K);
|
||||
GOST_FS(state, state1);
|
||||
GOST_Xor512(K, K1, CC[i]);
|
||||
GOST_FS(K, K1);
|
||||
GOST_Xor512(state, state1, K1);
|
||||
}
|
||||
}
|
||||
|
||||
__device__
|
||||
void GOST_E(uint64_t* K, uint64_t* const m, uint64_t *state /* out only */)
|
||||
void GOST_E(uint64_t* const K, uint64_t* const m, uint64_t *state /* out only */)
|
||||
{
|
||||
GOST_Xor512(state, m, K); // state = m ^ K
|
||||
GOST_E12(K, state);
|
||||
|
Loading…
x
Reference in New Issue
Block a user