Crypto++
8.2
Free C++ class library of cryptographic schemes
|
Support functions for ARM and vector operations. More...
Go to the source code of this file.
Functions | |
uint64x2_t | PMULL_00 (const uint64x2_t a, const uint64x2_t b) |
Polynomial multiplication. More... | |
uint64x2_t | PMULL_01 (const uint64x2_t a, const uint64x2_t b) |
Polynomial multiplication. More... | |
uint64x2_t | PMULL_10 (const uint64x2_t a, const uint64x2_t b) |
Polynomial multiplication. More... | |
uint64x2_t | PMULL_11 (const uint64x2_t a, const uint64x2_t b) |
Polynomial multiplication. More... | |
uint64x2_t | VEXT_U8 (uint64x2_t a, uint64x2_t b, unsigned int c) |
Vector extraction. More... | |
template<unsigned int C> | |
uint64x2_t | VEXT_U8 (uint64x2_t a, uint64x2_t b) |
Vector extraction. More... | |
Support functions for ARM and vector operations.
Definition in file arm_simd.h.
|
inline |
Polynomial multiplication.
a | the first term |
b | the second term |
PMULL_00() performs polynomial multiplication and presents the result like Intel's c = _mm_clmulepi64_si128(a, b, 0x00)
. The 0x00
indicates the low 64-bits of a
and b
are multiplied.
Definition at line 35 of file arm_simd.h.
|
inline |
Polynomial multiplication.
a | the first term |
b | the second term |
PMULL_01 performs() polynomial multiplication and presents the result like Intel's c = _mm_clmulepi64_si128(a, b, 0x01)
. The 0x01
indicates the low 64-bits of a
and high 64-bits of b
are multiplied.
Definition at line 65 of file arm_simd.h.
|
inline |
Polynomial multiplication.
a | the first term |
b | the second term |
PMULL_10() performs polynomial multiplication and presents the result like Intel's c = _mm_clmulepi64_si128(a, b, 0x10)
. The 0x10
indicates the high 64-bits of a
and low 64-bits of b
are multiplied.
Definition at line 95 of file arm_simd.h.
|
inline |
Polynomial multiplication.
a | the first term |
b | the second term |
PMULL_11() performs polynomial multiplication and presents the result like Intel's c = _mm_clmulepi64_si128(a, b, 0x11)
. The 0x11
indicates the high 64-bits of a
and b
are multiplied.
Definition at line 125 of file arm_simd.h.
|
inline |
Vector extraction.
a | the first term |
b | the second term |
c | the byte count |
VEXT_U8() extracts the first c
bytes of vector a
and the remaining bytes in b
.
Definition at line 151 of file arm_simd.h.
|
inline |
Vector extraction.
C | the byte count |
a | the first term |
b | the second term |
VEXT_U8() extracts the first C
bytes of vector a
and the remaining bytes in b
.
Definition at line 173 of file arm_simd.h.