One round of SHA-256. */
| 37 | |
| 38 | /** One round of SHA-256. */ |
| 39 | void inline __attribute__((always_inline)) Round(__m256i a, __m256i b, __m256i c, __m256i& d, __m256i e, __m256i f, __m256i g, __m256i& h, __m256i k) |
| 40 | { |
| 41 | __m256i t1 = Add(h, Sigma1(e), Ch(e, f, g), k); |
| 42 | __m256i t2 = Add(Sigma0(a), Maj(a, b, c)); |
| 43 | d = Add(d, t1); |
| 44 | h = Add(t1, t2); |
| 45 | } |
| 46 | |
| 47 | __m256i inline Read8(const unsigned char* chunk, int offset) { |
| 48 | __m256i ret = _mm256_set_epi32( |