| 27 | __m256i inline And(__m256i x, __m256i y) { return _mm256_and_si256(x, y); } |
| 28 | __m256i inline ShR(__m256i x, int n) { return _mm256_srli_epi32(x, n); } |
| 29 | __m256i inline ShL(__m256i x, int n) { return _mm256_slli_epi32(x, n); } |
| 30 | |
| 31 | __m256i inline Ch(__m256i x, __m256i y, __m256i z) { return Xor(z, And(x, Xor(y, z))); } |
| 32 | __m256i inline Maj(__m256i x, __m256i y, __m256i z) { return Or(And(x, y), And(z, Or(x, y))); } |