AI Engine Intrinsics User Guide
(AIE) v(2024.1)
|
Float vector max/min.
Performs the comparison between lanes and returns the result of the comparison (either max or min) as a lane in the output vector.
Functions | |
v8float | fpmax (v8float acc, v8float xbuf, int xstart, unsigned int xoffs) |
Maximum for single precision real floating point vectors. | |
v8float | fpmax (v8float acc, v16float xbuf, int xstart, unsigned int xoffs) |
Maximum for single precision real floating point vectors. | |
v8float | fpmax (v8float acc, v8float xbuf) |
Maximum for single precision real floating point vectors. | |
v8float | fpmax (v8float acc, v32float xbuf, int xstart, unsigned int xoffs) |
Maximum for single precision real floating point vectors. | |
v8float | fpmax_abs (v8float acc, v8float xbuf, int xstart, unsigned int xoffs) |
Take absolute value and find maximum for single precision real floating point vectors. | |
v8float | fpmax_abs (v8float acc, v16float xbuf, int xstart, unsigned int xoffs) |
Take absolute value and find maximum for single precision real floating point vectors. | |
v8float | fpmax_abs (v8float acc, v8float xbuf) |
Take absolute value and find maximum for single precision real floating point vectors. | |
v8float | fpmax_abs (v8float acc, v32float xbuf, int xstart, unsigned int xoffs) |
Take absolute value and find maximum for single precision real floating point vectors. | |
v8float | fpmin (v8float acc, v8float xbuf, int xstart, unsigned int xoffs) |
Minimum for single precision real floating point vectors. | |
v8float | fpmin (v8float acc, v16float xbuf, int xstart, unsigned int xoffs) |
Minimum for single precision real floating point vectors. | |
v8float | fpmin (v8float acc, v8float xbuf) |
Minimum for single precision real floating point vectors. | |
v8float | fpmin (v8float acc, v32float xbuf, int xstart, unsigned int xoffs) |
Minimum for single precision real floating point vectors. | |
v8float | fpmin_abs (v8float acc, v8float xbuf, int xstart, unsigned int xoffs) |
Take absolute value and find minimum for single precision real floating point vectors. | |
v8float | fpmin_abs (v8float acc, v16float xbuf, int xstart, unsigned int xoffs) |
Take absolute value and find minimum for single precision real floating point vectors. | |
v8float | fpmin_abs (v8float acc, v8float xbuf) |
Take absolute value and find minimum for single precision real floating point vectors. | |
v8float | fpmin_abs (v8float acc, v32float xbuf, int xstart, unsigned int xoffs) |
Take absolute value and find minimum for single precision real floating point vectors. | |
v8float fpmax | ( | v8float | acc, |
v8float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Maximum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = max(acc[i], xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmax | ( | v8float | acc, |
v16float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Maximum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = max(acc[i], xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmax | ( | v8float | acc, |
v8float | xbuf | ||
) |
Maximum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0 ; i < 8 ; i++) ret[i] = max(acc[i], xbuf[i]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
v8float fpmax | ( | v8float | acc, |
v32float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Maximum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = max(acc[i], xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmax_abs | ( | v8float | acc, |
v8float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Take absolute value and find maximum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = max(acc[i], abs(xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmax_abs | ( | v8float | acc, |
v16float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Take absolute value and find maximum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = max(acc[i], abs(xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmax_abs | ( | v8float | acc, |
v8float | xbuf | ||
) |
Take absolute value and find maximum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0 ; i < 8 ; i++) ret[i] = max(acc[i], abs(xbuf[i]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
v8float fpmax_abs | ( | v8float | acc, |
v32float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Take absolute value and find maximum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = max(acc[i], abs(xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmin | ( | v8float | acc, |
v8float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Minimum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = min(acc[i], xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmin | ( | v8float | acc, |
v16float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Minimum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = min(acc[i], xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmin | ( | v8float | acc, |
v8float | xbuf | ||
) |
Minimum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0 ; i < 8 ; i++) ret[i] = min(acc[i], xbuf[i]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
v8float fpmin | ( | v8float | acc, |
v32float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Minimum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = min(acc[i], xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmin_abs | ( | v8float | acc, |
v8float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Take absolute value and find minimum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = min(acc[i], abs(xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmin_abs | ( | v8float | acc, |
v16float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Take absolute value and find minimum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = min(acc[i], abs(xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpmin_abs | ( | v8float | acc, |
v8float | xbuf | ||
) |
Take absolute value and find minimum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0 ; i < 8 ; i++) ret[i] = min(acc[i], abs(xbuf[i]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
v8float fpmin_abs | ( | v8float | acc, |
v32float | xbuf, | ||
int | xstart, | ||
unsigned int | xoffs | ||
) |
Take absolute value and find minimum for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0; i < 8; i++) ret[i] = min(acc[i], abs(xbuf[xstart + xoffs[i]]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |