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