Support functions for ARM and vector operations.
More...
Go to the source code of this file.
|
| 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.
◆ PMULL_00()
| uint64x2_t PMULL_00 |
( |
const uint64x2_t |
a, |
|
|
const uint64x2_t |
b |
|
) |
| |
|
inline |
Polynomial multiplication.
- Parameters
-
| a | the first term |
| b | the second term |
- Returns
- vector product 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.
- Note
- An Intel XMM register is composed of 128-bits. The leftmost bit is MSB and numbered 127, while the the rightmost bit is LSB and numbered 0.
- Since
- Crypto++ 8.0
Definition at line 34 of file arm_simd.h.
◆ PMULL_01()
| uint64x2_t PMULL_01 |
( |
const uint64x2_t |
a, |
|
|
const uint64x2_t |
b |
|
) |
| |
|
inline |
Polynomial multiplication.
- Parameters
-
| a | the first term |
| b | the second term |
- Returns
- vector product 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.
- Note
- An Intel XMM register is composed of 128-bits. The leftmost bit is MSB and numbered 127, while the the rightmost bit is LSB and numbered 0.
- Since
- Crypto++ 8.0
Definition at line 64 of file arm_simd.h.
◆ PMULL_10()
| uint64x2_t PMULL_10 |
( |
const uint64x2_t |
a, |
|
|
const uint64x2_t |
b |
|
) |
| |
|
inline |
Polynomial multiplication.
- Parameters
-
| a | the first term |
| b | the second term |
- Returns
- vector product 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.
- Note
- An Intel XMM register is composed of 128-bits. The leftmost bit is MSB and numbered 127, while the the rightmost bit is LSB and numbered 0.
- Since
- Crypto++ 8.0
Definition at line 94 of file arm_simd.h.
◆ PMULL_11()
| uint64x2_t PMULL_11 |
( |
const uint64x2_t |
a, |
|
|
const uint64x2_t |
b |
|
) |
| |
|
inline |
Polynomial multiplication.
- Parameters
-
| a | the first term |
| b | the second term |
- Returns
- vector product 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.
- Note
- An Intel XMM register is composed of 128-bits. The leftmost bit is MSB and numbered 127, while the the rightmost bit is LSB and numbered 0.
- Since
- Crypto++ 8.0
Definition at line 124 of file arm_simd.h.
◆ VEXT_U8() [1/2]
| uint64x2_t VEXT_U8 |
( |
uint64x2_t |
a, |
|
|
uint64x2_t |
b, |
|
|
unsigned int |
c |
|
) |
| |
|
inline |
Vector extraction.
- Parameters
-
| a | the first term |
| b | the second term |
| c | the byte count |
- Returns
- vector VEXT_U8() extracts the first
c bytes of vector a and the remaining bytes in b.
- Since
- Crypto++ 8.0
Definition at line 150 of file arm_simd.h.
◆ VEXT_U8() [2/2]
template<unsigned int C>
| uint64x2_t VEXT_U8 |
( |
uint64x2_t |
a, |
|
|
uint64x2_t |
b |
|
) |
| |
|
inline |
Vector extraction.
- Template Parameters
-
- Parameters
-
| a | the first term |
| b | the second term |
- Returns
- vector VEXT_U8() extracts the first
C bytes of vector a and the remaining bytes in b.
- Since
- Crypto++ 8.0
Definition at line 172 of file arm_simd.h.