Botan 1.10.17

Namespaces | Macros
sha1_sse2.cpp File Reference
`#include <botan/sha1_sse2.h>`
`#include <botan/rotate.h>`
`#include <emmintrin.h>`

Go to the source code of this file.

## Namespaces
| Botan
| Botan::SHA1_SSE2_F

## Macros
#define | GET_P_32(P, i) P.u32[i]
#define | prep(prep, XW0, XW1, XW2, XW3, K)
#define | prep00_15(P, W)

## Macro Definition Documentation

## ◆ GET_P_32

#define GET_P_32 | ( |  | P,
|  |  | i
| ) |  | P.u32[i]

## ◆ prep

#define prep | ( |  | prep,
|  |  | XW0,
|  |  | XW1,
|  |  | XW2,
|  |  | XW3,
|  |  | K
| ) |  |

Definition at line 80 of file sha1_sse2.cpp.

## ◆ prep00_15

#define prep00_15 | ( |  | P,
|  |  | W
| ) |  |

Value:
do { \
W = _mm_shufflehi_epi16(W, _MM_SHUFFLE(2, 3, 0, 1)); \
W = _mm_shufflelo_epi16(W, _MM_SHUFFLE(2, 3, 0, 1)); \
W = _mm_or_si128(_mm_slli_epi16(W, 8), \
_mm_srli_epi16(W, 8)); \
P.u128 = _mm_add_epi32(W, K00_19); \
} while(0)

Definition at line 26 of file sha1_sse2.cpp.