AI Engine Intrinsics User Guide
(AIE) v(2024.1)
|
Modules | |
AIE ID | |
Digital Pre-Distortion | |
Peak Cancellation Crest Factor Reduction (PC-CFR) | |
Functions | |
int | scalar_abs (int a) |
Scalar select intrinsics | |
char | select (bool, char, char) |
Scalar select. | |
unsigned char | select (bool, unsigned char, unsigned char) |
Scalar select. | |
short | select (bool, short, short) |
Scalar select. | |
int | select (bool, int, int) |
Scalar select. | |
long | select (bool, long, long) |
Scalar select. | |
void * | select (bool, void *, void *) |
Scalar select. | |
Leading bit count | |
unsigned | clb (int a) |
Count number of leading consecutive bits. If a is positive, count leading 0's, otherwise count leading 1's. | |
unsigned | clb (unsigned a) |
Count number of leading consecutive 0's. | |
unsigned | clb (long long a) |
Count number of leading consecutive bits. If a is positive, count leading 0's, otherwise count leading 1's. | |
unsigned | clb (unsigned long long a) |
Count number of leading consecutive 0's. | |
Inserting nops in the micro-code | |
void | nop (unsigned delay) |
Insert pipeline bubbles in the micro-code. | |
void | nop () |
Insert pipeline bubbles in the micro-code. | |
Bit extraction/update | |
unsigned | bitset (unsigned src, unsigned val, unsigned idx) |
unsigned | bitget (unsigned src, unsigned idx) |
unsigned bitget | ( | unsigned | src, |
unsigned | idx | ||
) |
Returns the value (0 or 1) of the bit at idx in src.
src | The value in which a bit is to be get. |
idx | The index of the bit to get. This must be a compile time constant. |
unsigned bitset | ( | unsigned | src, |
unsigned | val, | ||
unsigned | idx | ||
) |
Returns the updated src with the bit at idx set to val.
src | The value in which a bit is to be set. |
val | The value to set the bit to. Treated as a 1 or 0 to be shifted into the correct position. |
idx | The index of the bit to set. This must be a compile time constant. |
unsigned clb | ( | int | a | ) |
Count number of leading consecutive bits. If a is positive, count leading 0's, otherwise count leading 1's.
unsigned clb | ( | unsigned | a | ) |
Count number of leading consecutive 0's.
unsigned clb | ( | long long | a | ) |
Count number of leading consecutive bits. If a is positive, count leading 0's, otherwise count leading 1's.
unsigned clb | ( | unsigned long long | a | ) |
Count number of leading consecutive 0's.
void nop | ( | unsigned | delay | ) |
Insert pipeline bubbles in the micro-code.
delay | Number of cycles between two instructions. (Default = 2) |
void nop | ( | ) |
Insert pipeline bubbles in the micro-code.
delay | Number of cycles between two instructions. (Default = 2) |
int scalar_abs | ( | int | a | ) |
char select | ( | bool | , |
char | , | ||
char | |||
) |
Scalar select.
These instructions are equivalent to the ternary ?: operator and should normally be inferred by the compiler automatically.
unsigned long select | ( | bool | , |
unsigned | char, | ||
unsigned | char | ||
) |
Scalar select.
These instructions are equivalent to the ternary ?: operator and should normally be inferred by the compiler automatically.
short select | ( | bool | , |
short | , | ||
short | |||
) |
Scalar select.
These instructions are equivalent to the ternary ?: operator and should normally be inferred by the compiler automatically.
int select | ( | bool | , |
int | , | ||
int | |||
) |
Scalar select.
These instructions are equivalent to the ternary ?: operator and should normally be inferred by the compiler automatically.
long select | ( | bool | , |
long | , | ||
long | |||
) |
Scalar select.
These instructions are equivalent to the ternary ?: operator and should normally be inferred by the compiler automatically.
void* select | ( | bool | , |
void * | , | ||
void * | |||
) |
Scalar select.
These instructions are equivalent to the ternary ?: operator and should normally be inferred by the compiler automatically.