MCPcopy Create free account
hub / github.com/abbeycode/UnrarKit / Update

Method Update

Libraries/unrar/blake2sp.cpp:40–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38
39
40void Blake2ThreadData::Update()
41{
42 size_t inlen__ = inlen;
43 const byte *in__ = ( const byte * )in;
44
45 while( inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES )
46 {
47#ifdef USE_SSE
48 // We gain 5% in i7 SSE mode by prefetching next data block.
49 if (_SSE_Version>=SSE_SSE && inlen__ >= 2 * PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES)
50 _mm_prefetch((char*)(in__ + PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES), _MM_HINT_T0);
51#endif
52 blake2s_update( S, in__, BLAKE2S_BLOCKBYTES );
53 in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES;
54 inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES;
55 }
56}
57
58#ifdef RAR_SMP
59THREAD_PROC(Blake2Thread)

Callers 2

THREAD_PROCFunction · 0.45
blake2sp_updateFunction · 0.45

Calls 1

blake2s_updateFunction · 0.85

Tested by

no test coverage detected