AI Engine Intrinsics User Guide
(AIE) v(2024.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 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. | |
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]]) ~~~~~~~~~~~~~~~~~~~
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 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]]) ~~~~~~~~~~~~~~~~~~~
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 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]) ~~~~~~~~~~~~~~~~~~~
xbuf | Input 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]]) ~~~~~~~~~~~~~~~~~~~
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 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]] ~~~~~~~~~~~~~~~~~~~
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 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]] ~~~~~~~~~~~~~~~~~~~
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 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] ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input 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]] ~~~~~~~~~~~~~~~~~~~
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. |
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]] ~~~~~~~~~~~~~~~~~~~
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). |
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]] ~~~~~~~~~~~~~~~~~~~
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). |
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] ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input 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]] ~~~~~~~~~~~~~~~~~~~
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). |
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]]) ~~~~~~~~~~~~~~~~~~~
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 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]]) ~~~~~~~~~~~~~~~~~~~
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 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]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input 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]]) ~~~~~~~~~~~~~~~~~~~
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. |
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]]) ~~~~~~~~~~~~~~~~~~~
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). |
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]]) ~~~~~~~~~~~~~~~~~~~
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). |
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]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input 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]]) ~~~~~~~~~~~~~~~~~~~
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). |
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]] ~~~~~~~~~~~~~~~~~~~
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 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]] ~~~~~~~~~~~~~~~~~~~
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 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] ~~~~~~~~~~~~~~~~~~~
xbuf | Input 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]] ~~~~~~~~~~~~~~~~~~~
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 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]] ~~~~~~~~~~~~~~~~~~~
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). |
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]] ~~~~~~~~~~~~~~~~~~~
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). |
v4cfloat fpneg | ( | v4cfloat | xbuf | ) |
Negate for single precision complex floating point vectors.
~~~~~~~~~~~~~~~~~~~ for (i = 0 ; i < 4 ; i++) ret[i] = - xbuf[i] ~~~~~~~~~~~~~~~~~~~
xbuf | Input 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]] ~~~~~~~~~~~~~~~~~~~
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). |
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]]) ~~~~~~~~~~~~~~~~~~~
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 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]]) ~~~~~~~~~~~~~~~~~~~
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 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]) ~~~~~~~~~~~~~~~~~~~
xbuf | Input 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]]) ~~~~~~~~~~~~~~~~~~~
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 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]]) ~~~~~~~~~~~~~~~~~~~
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). |
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]]) ~~~~~~~~~~~~~~~~~~~
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). |
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]) ~~~~~~~~~~~~~~~~~~~
xbuf | Input 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]]) ~~~~~~~~~~~~~~~~~~~
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). |
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]] ~~~~~~~~~~~~~~~~~~~
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 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]] ~~~~~~~~~~~~~~~~~~~
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 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] ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input 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]] ~~~~~~~~~~~~~~~~~~~
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. |
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]] ~~~~~~~~~~~~~~~~~~~
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). |
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]] ~~~~~~~~~~~~~~~~~~~
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). |
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] ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input 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]] ~~~~~~~~~~~~~~~~~~~
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). |
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]]) ~~~~~~~~~~~~~~~~~~~
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 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]]) ~~~~~~~~~~~~~~~~~~~
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 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]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input 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]]) ~~~~~~~~~~~~~~~~~~~
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. |
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]]) ~~~~~~~~~~~~~~~~~~~
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). |
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]]) ~~~~~~~~~~~~~~~~~~~
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). |
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]) ~~~~~~~~~~~~~~~~~~~
acc | Incoming accumulation vector. |
xbuf | Input 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]]) ~~~~~~~~~~~~~~~~~~~
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). |