![]() |
AI Engine Intrinsics User Guide (AIE) v(2025.1)
|
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 @intr_gpvectorfpop here.
Functions | |
v8float | fpabs (v16float xbuf, int xstart, unsigned int xoffs) |
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 | fpabs (v8float xbuf) |
Take absolute value for single precision real floating point vectors. | |
v8float | fpabs (v8float xbuf, int xstart, unsigned int xoffs) |
Take absolute value for single precision real floating point vectors. | |
v4cfloat | fpadd (v4cfloat acc, v16cfloat 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, 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. | |
v8float | fpadd (v8float acc, v16float xbuf, int xstart, unsigned int xoffs) |
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. | |
v8float | fpadd (v8float acc, v8float xbuf) |
Add 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_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, v32float 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, v8float xbuf, int xstart, unsigned int xoffs) |
Take absolute value and add for single precision real floating point vectors. | |
v4cfloat | fpadd_c (v4cfloat acc, v16cfloat 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, 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 | fpneg (v16cfloat xbuf, int xstart, unsigned int xoffs) |
Negate for single precision complex floating point vectors. | |
v8float | fpneg (v16float xbuf, int xstart, unsigned int xoffs) |
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) |
Negate for single precision complex 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. | |
v8float | fpneg (v8float xbuf) |
Negate for single precision real floating point vectors. | |
v8float | fpneg (v8float xbuf, int xstart, unsigned int xoffs) |
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 (v32float 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 (v8float xbuf, int xstart, unsigned int xoffs) |
Take absolute value and negate for single precision real floating point vectors. | |
v4cfloat | fpneg_c (v16cfloat 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 (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 | fpsub (v4cfloat acc, v16cfloat 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, 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. | |
v8float | fpsub (v8float acc, v16float xbuf, int xstart, unsigned int xoffs) |
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. | |
v8float | fpsub (v8float acc, v8float xbuf) |
Subtract for single precision real floating point vectors. | |
v8float | fpsub (v8float acc, v8float xbuf, int xstart, unsigned int xoffs) |
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, v32float 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, v8float xbuf, int xstart, unsigned int xoffs) |
Take absolute value and subtract for single precision real floating point vectors. | |
v4cfloat | fpsub_c (v4cfloat acc, v16cfloat 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, 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. | |
Take absolute value for single precision real floating point vectors.
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
Add for single precision complex floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Add for single precision complex floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Add for single precision complex floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Add for single precision real floating point vectors.
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. |
Add for single precision real floating point vectors.
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. |
Add for single precision real floating point vectors.
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. |
Take absolute value and add for single precision real floating point vectors.
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. |
Take absolute value and add for single precision real floating point vectors.
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. |
Take absolute value and add for single precision real floating point vectors.
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. |
Add for single precision complex conjugate floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Add for single precision complex conjugate floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Add for single precision complex conjugate floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Negate for single precision complex floating point vectors.
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Negate for single precision complex floating point vectors.
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Negate for single precision complex floating point vectors.
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Negate for single precision complex conjugate floating point vectors.
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Negate for single precision complex conjugate floating point vectors.
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Negate for single precision complex conjugate floating point vectors.
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Subtract for single precision complex floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Subtract for single precision complex floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Subtract for single precision complex floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Subtract for single precision real floating point vectors.
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. |
Subtract for single precision real floating point vectors.
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. |
Subtract for single precision real floating point vectors.
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. |
Take absolute value and subtract for single precision real floating point vectors.
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. |
Take absolute value and subtract for single precision real floating point vectors.
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. |
Take absolute value and subtract for single precision real floating point vectors.
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. |
Subtract for single precision complex conjugate floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Subtract for single precision complex conjugate floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).
Subtract for single precision complex conjugate floating point vectors.
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The start value refers to complex lanes (lane 0 corresponds to the first real and imaginary value). |
xoffs | 4 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).