AI Engine Intrinsics User Guide  (AIE) v(2024.1)
 All Data Structures Namespaces Functions Variables Typedefs Groups Pages

Overview

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.
 

Function Documentation

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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 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])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput 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]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 x 4 bits: Additional lane-dependent offset for X.