#include <botan/aes.h>
#include <botan/loadstor.h>
#include <arm_neon.h>
Go to the source code of this file.
#define AES_DEC_4_LAST_ROUNDS |
( |
|
K, |
|
|
|
K2 |
|
) |
| |
Value:do \
{ \
B0 = veorq_u8(vaesdq_u8(B0, K),
K2); \
B1 = veorq_u8(vaesdq_u8(B1, K),
K2); \
B2 = veorq_u8(vaesdq_u8(B2, K),
K2); \
B3 = veorq_u8(vaesdq_u8(B3, K),
K2); \
} while(0)
Definition at line 44 of file aes_armv8.cpp.
#define AES_DEC_4_ROUNDS |
( |
|
K | ) |
|
Value:do \
{ \
B0 = vaesimcq_u8(vaesdq_u8(B0, K)); \
B1 = vaesimcq_u8(vaesdq_u8(B1, K)); \
B2 = vaesimcq_u8(vaesdq_u8(B2, K)); \
B3 = vaesimcq_u8(vaesdq_u8(B3, K)); \
} while(0)
Definition at line 35 of file aes_armv8.cpp.
#define AES_ENC_4_LAST_ROUNDS |
( |
|
K, |
|
|
|
K2 |
|
) |
| |
Value:do \
{ \
B0 = veorq_u8(vaeseq_u8(B0, K),
K2); \
B1 = veorq_u8(vaeseq_u8(B1, K),
K2); \
B2 = veorq_u8(vaeseq_u8(B2, K),
K2); \
B3 = veorq_u8(vaeseq_u8(B3, K),
K2); \
} while(0)
Definition at line 26 of file aes_armv8.cpp.
#define AES_ENC_4_ROUNDS |
( |
|
K | ) |
|
Value:do \
{ \
B0 = vaesmcq_u8(vaeseq_u8(B0, K)); \
B1 = vaesmcq_u8(vaeseq_u8(B1, K)); \
B2 = vaesmcq_u8(vaeseq_u8(B2, K)); \
B3 = vaesmcq_u8(vaeseq_u8(B3, K)); \
} while(0)
Definition at line 17 of file aes_armv8.cpp.