|
Crypto++
8.5
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 34 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 64 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 94 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 124 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 150 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 172 of file arm_simd.h.
1.8.17