![]() |
AI Engine Intrinsics User Guide
(AIE) r2p23
|
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. |