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

Overview

Advanced Float Vector Arithmetic Operations. The lane selection scheme is explained after each intrinsic. Note that these intrinsics are a wrapper over the fully configurable fpmac_conf base function, explained here. More information on fpmac_conf can be found here.

Functions

v8float fpabs (v8float xbuf, int xstart, unsigned int xoffs)
 Take absolute value for single precision real floating point vectors.
 
v8float fpabs (v16float xbuf, int xstart, unsigned int xoffs)
 Take absolute value for single precision real floating point vectors.
 
v8float fpabs (v8float xbuf)
 Take absolute value for single precision real floating point vectors.
 
v8float fpabs (v32float xbuf, int xstart, unsigned int xoffs)
 Take absolute value for single precision real floating point vectors.
 
v8float fpadd (v8float acc, v8float xbuf, int xstart, unsigned int xoffs)
 Add for single precision real floating point vectors.
 
v8float fpadd (v8float acc, v16float xbuf, int xstart, unsigned int xoffs)
 Add for single precision real floating point vectors.
 
v8float fpadd (v8float acc, v8float xbuf)
 Add for single precision real floating point vectors.
 
v8float fpadd (v8float acc, v32float xbuf, int xstart, unsigned int xoffs)
 Add for single precision real floating point vectors.
 
v4cfloat fpadd (v4cfloat acc, v4cfloat xbuf, int xstart, unsigned int xoffs)
 Add for single precision complex floating point vectors.
 
v4cfloat fpadd (v4cfloat acc, v8cfloat xbuf, int xstart, unsigned int xoffs)
 Add for single precision complex floating point vectors.
 
v4cfloat fpadd (v4cfloat acc, v4cfloat xbuf)
 Add for single precision complex floating point vectors.
 
v4cfloat fpadd (v4cfloat acc, v16cfloat xbuf, int xstart, unsigned int xoffs)
 Add for single precision complex floating point vectors.
 
v8float fpadd_abs (v8float acc, v8float xbuf, int xstart, unsigned int xoffs)
 Take absolute value and add for single precision real floating point vectors.
 
v8float fpadd_abs (v8float acc, v16float xbuf, int xstart, unsigned int xoffs)
 Take absolute value and add for single precision real floating point vectors.
 
v8float fpadd_abs (v8float acc, v8float xbuf)
 Take absolute value and add for single precision real floating point vectors.
 
v8float fpadd_abs (v8float acc, v32float xbuf, int xstart, unsigned int xoffs)
 Take absolute value and add for single precision real floating point vectors.
 
v4cfloat fpadd_c (v4cfloat acc, v4cfloat xbuf, int xstart, unsigned int xoffs)
 Add for single precision complex conjugate floating point vectors.
 
v4cfloat fpadd_c (v4cfloat acc, v8cfloat xbuf, int xstart, unsigned int xoffs)
 Add for single precision complex conjugate floating point vectors.
 
v4cfloat fpadd_c (v4cfloat acc, v4cfloat xbuf)
 Add for single precision complex conjugate floating point vectors.
 
v4cfloat fpadd_c (v4cfloat acc, v16cfloat xbuf, int xstart, unsigned int xoffs)
 Add for single precision complex conjugate floating point vectors.
 
v8float fpneg (v8float xbuf, int xstart, unsigned int xoffs)
 Negate for single precision real floating point vectors.
 
v8float fpneg (v16float xbuf, int xstart, unsigned int xoffs)
 Negate for single precision real floating point vectors.
 
v8float fpneg (v8float xbuf)
 Negate for single precision real floating point vectors.
 
v8float fpneg (v32float xbuf, int xstart, unsigned int xoffs)
 Negate for single precision real floating point vectors.
 
v4cfloat fpneg (v4cfloat xbuf, int xstart, unsigned int xoffs)
 Negate for single precision complex floating point vectors.
 
v4cfloat fpneg (v8cfloat xbuf, int xstart, unsigned int xoffs)
 Negate for single precision complex floating point vectors.
 
v4cfloat fpneg (v4cfloat xbuf)
 Negate for single precision complex floating point vectors.
 
v4cfloat fpneg (v16cfloat xbuf, int xstart, unsigned int xoffs)
 Negate for single precision complex floating point vectors.
 
v8float fpneg_abs (v8float xbuf, int xstart, unsigned int xoffs)
 Take absolute value and negate for single precision real floating point vectors.
 
v8float fpneg_abs (v16float xbuf, int xstart, unsigned int xoffs)
 Take absolute value and negate for single precision real floating point vectors.
 
v8float fpneg_abs (v8float xbuf)
 Take absolute value and negate for single precision real floating point vectors.
 
v8float fpneg_abs (v32float xbuf, int xstart, unsigned int xoffs)
 Take absolute value and negate for single precision real floating point vectors.
 
v4cfloat fpneg_c (v4cfloat xbuf, int xstart, unsigned int xoffs)
 Negate for single precision complex conjugate floating point vectors.
 
v4cfloat fpneg_c (v8cfloat xbuf, int xstart, unsigned int xoffs)
 Negate for single precision complex conjugate floating point vectors.
 
v4cfloat fpneg_c (v4cfloat xbuf)
 Negate for single precision complex conjugate floating point vectors.
 
v4cfloat fpneg_c (v16cfloat xbuf, int xstart, unsigned int xoffs)
 Negate for single precision complex conjugate floating point vectors.
 
v8float fpsub (v8float acc, v8float xbuf, int xstart, unsigned int xoffs)
 Subtract for single precision real floating point vectors.
 
v8float fpsub (v8float acc, v16float xbuf, int xstart, unsigned int xoffs)
 Subtract for single precision real floating point vectors.
 
v8float fpsub (v8float acc, v8float xbuf)
 Subtract for single precision real floating point vectors.
 
v8float fpsub (v8float acc, v32float xbuf, int xstart, unsigned int xoffs)
 Subtract for single precision real floating point vectors.
 
v4cfloat fpsub (v4cfloat acc, v4cfloat xbuf, int xstart, unsigned int xoffs)
 Subtract for single precision complex floating point vectors.
 
v4cfloat fpsub (v4cfloat acc, v8cfloat xbuf, int xstart, unsigned int xoffs)
 Subtract for single precision complex floating point vectors.
 
v4cfloat fpsub (v4cfloat acc, v4cfloat xbuf)
 Subtract for single precision complex floating point vectors.
 
v4cfloat fpsub (v4cfloat acc, v16cfloat xbuf, int xstart, unsigned int xoffs)
 Subtract for single precision complex floating point vectors.
 
v8float fpsub_abs (v8float acc, v8float xbuf, int xstart, unsigned int xoffs)
 Take absolute value and subtract for single precision real floating point vectors.
 
v8float fpsub_abs (v8float acc, v16float xbuf, int xstart, unsigned int xoffs)
 Take absolute value and subtract for single precision real floating point vectors.
 
v8float fpsub_abs (v8float acc, v8float xbuf)
 Take absolute value and subtract for single precision real floating point vectors.
 
v8float fpsub_abs (v8float acc, v32float xbuf, int xstart, unsigned int xoffs)
 Take absolute value and subtract for single precision real floating point vectors.
 
v4cfloat fpsub_c (v4cfloat acc, v4cfloat xbuf, int xstart, unsigned int xoffs)
 Subtract for single precision complex conjugate floating point vectors.
 
v4cfloat fpsub_c (v4cfloat acc, v8cfloat xbuf, int xstart, unsigned int xoffs)
 Subtract for single precision complex conjugate floating point vectors.
 
v4cfloat fpsub_c (v4cfloat acc, v4cfloat xbuf)
 Subtract for single precision complex conjugate floating point vectors.
 
v4cfloat fpsub_c (v4cfloat acc, v16cfloat xbuf, int xstart, unsigned int xoffs)
 Subtract for single precision complex conjugate floating point vectors.
 

Function Documentation

v8float fpabs ( v8float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = abs(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 x 4 bits: Additional lane-dependent offset for X.
v8float fpabs ( v16float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = abs(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 x 4 bits: Additional lane-dependent offset for X.
v8float fpabs ( v8float  xbuf)

Take absolute value for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 8 ; i++)
   ret[i] = abs(xbuf[i])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
v8float fpabs ( v32float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = abs(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 x 4 bits: Additional lane-dependent offset for X.
v8float fpadd ( v8float  acc,
v8float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Add for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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 fpadd ( v8float  acc,
v16float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Add for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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 fpadd ( v8float  acc,
v8float  xbuf 
)

Add for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 8 ; i++)
   ret[i] = acc[i] + xbuf[i]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
v8float fpadd ( v8float  acc,
v32float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Add for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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.
v4cfloat fpadd ( v4cfloat  acc,
v4cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Add for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] + xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpadd ( v4cfloat  acc,
v8cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Add for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] + xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpadd ( v4cfloat  acc,
v4cfloat  xbuf 
)

Add for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 4 ; i++)
   ret[i] = acc[i] + xbuf[i]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
v4cfloat fpadd ( v4cfloat  acc,
v16cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Add for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] + xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v8float fpadd_abs ( v8float  acc,
v8float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value and add for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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 fpadd_abs ( v8float  acc,
v16float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value and add for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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 fpadd_abs ( v8float  acc,
v8float  xbuf 
)

Take absolute value and add for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 8 ; i++)
   ret[i] = acc[i] + abs(xbuf[i])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
v8float fpadd_abs ( v8float  acc,
v32float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value and add for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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.
v4cfloat fpadd_c ( v4cfloat  acc,
v4cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Add for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] + conj(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpadd_c ( v4cfloat  acc,
v8cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Add for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] + conj(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpadd_c ( v4cfloat  acc,
v4cfloat  xbuf 
)

Add for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 4 ; i++)
   ret[i] = acc[i] + conj(xbuf[i])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
v4cfloat fpadd_c ( v4cfloat  acc,
v16cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Add for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] + conj(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v8float fpneg ( v8float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Negate for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = - xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 x 4 bits: Additional lane-dependent offset for X.
v8float fpneg ( v16float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Negate for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = - xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 x 4 bits: Additional lane-dependent offset for X.
v8float fpneg ( v8float  xbuf)

Negate for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 8 ; i++)
   ret[i] = - xbuf[i]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
v8float fpneg ( v32float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Negate for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = - xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 x 4 bits: Additional lane-dependent offset for X.
v4cfloat fpneg ( v4cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Negate for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = - xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpneg ( v8cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Negate for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = - xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpneg ( v4cfloat  xbuf)

Negate for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 4 ; i++)
   ret[i] = - xbuf[i]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
v4cfloat fpneg ( v16cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Negate for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = - xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v8float fpneg_abs ( v8float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value and negate for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = - abs(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 x 4 bits: Additional lane-dependent offset for X.
v8float fpneg_abs ( v16float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value and negate for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = - abs(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 x 4 bits: Additional lane-dependent offset for X.
v8float fpneg_abs ( v8float  xbuf)

Take absolute value and negate for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 8 ; i++)
   ret[i] = - abs(xbuf[i])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
v8float fpneg_abs ( v32float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value and negate for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = - abs(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X.
xoffs8 x 4 bits: Additional lane-dependent offset for X.
v4cfloat fpneg_c ( v4cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Negate for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = - conj(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpneg_c ( v8cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Negate for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = - conj(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpneg_c ( v4cfloat  xbuf)

Negate for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 4 ; i++)
   ret[i] = - conj(xbuf[i])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
v4cfloat fpneg_c ( v16cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Negate for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = - conj(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v8float fpsub ( v8float  acc,
v8float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Subtract for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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 fpsub ( v8float  acc,
v16float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Subtract for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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 fpsub ( v8float  acc,
v8float  xbuf 
)

Subtract for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 8 ; i++)
   ret[i] = acc[i] - xbuf[i]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
v8float fpsub ( v8float  acc,
v32float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Subtract for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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.
v4cfloat fpsub ( v4cfloat  acc,
v4cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Subtract for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] - xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpsub ( v4cfloat  acc,
v8cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Subtract for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] - xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpsub ( v4cfloat  acc,
v4cfloat  xbuf 
)

Subtract for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 4 ; i++)
   ret[i] = acc[i] - xbuf[i]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
v4cfloat fpsub ( v4cfloat  acc,
v16cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Subtract for single precision complex floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] - xbuf[xstart + xoffs[i]]
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v8float fpsub_abs ( v8float  acc,
v8float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value and subtract for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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 fpsub_abs ( v8float  acc,
v16float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value and subtract for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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 fpsub_abs ( v8float  acc,
v8float  xbuf 
)

Take absolute value and subtract for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 8 ; i++)
   ret[i] = acc[i] - abs(xbuf[i])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
v8float fpsub_abs ( v8float  acc,
v32float  xbuf,
int  xstart,
unsigned int  xoffs 
)

Take absolute value and subtract for single precision real floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 8; i++)
   ret[i] = 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.
v4cfloat fpsub_c ( v4cfloat  acc,
v4cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Subtract for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] - conj(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpsub_c ( v4cfloat  acc,
v8cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Subtract for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] - conj(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpsub_c ( v4cfloat  acc,
v4cfloat  xbuf 
)

Subtract for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0 ; i < 4 ; i++)
   ret[i] = acc[i] - conj(xbuf[i])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
v4cfloat fpsub_c ( v4cfloat  acc,
v16cfloat  xbuf,
int  xstart,
unsigned int  xoffs 
)

Subtract for single precision complex conjugate floating point vectors.

 ~~~~~~~~~~~~~~~~~~~
 for (i = 0; i < 4; i++)
   ret[i] = acc[i] - conj(xbuf[xstart + xoffs[i]])
 ~~~~~~~~~~~~~~~~~~~
Returns
Result vector.
Parameters
accIncoming accumulation vector.
xbufInput buffer.
xstartStarting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value).
xoffs4 x 4 bits: Additional lane-dependent offset for X. Highest (4th) bit in each lane must be 0. Range per lane : [0,7]
 The offsets are referring to complex lanes (lane 0 corresponds to the first real and imaginary value).
Note
When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.