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.
|
v8float | fpadd (v8float acc, v32float xbuf, int xstart, unsigned int xoffs) |
| Add single precision real floating point vectors.
|
|
v8float | fpadd (v8float acc, v16float xbuf, int xstart, unsigned int xoffs) |
| Add single precision real floating point vectors.
|
|
v4cfloat | fpadd (v4cfloat acc, v16cfloat xbuf, int xstart, unsigned int xoffs) |
| Add complex single precision floating point vectors.
|
|
v4cfloat | fpadd (v4cfloat acc, v8cfloat xbuf, int xstart, unsigned int xoffs) |
| Add complex single precision floating point vectors.
|
|
v8float | fpadd_abs (v8float acc, v32float xbuf, int xstart, unsigned int xoffs) |
| Take absolute value and add real single precision floating point vectors.
|
|
v8float | fpadd_abs (v8float acc, v16float xbuf, int xstart, unsigned int xoffs) |
| Take absolute value and add real single precision floating point vectors.
|
|
|
v8float | fpsub (v8float acc, v32float xbuf, int xstart, unsigned int xoffs) |
| Subtract real single precision floating point vectors.
|
|
v8float | fpsub (v8float acc, v16float xbuf, int xstart, unsigned int xoffs) |
| Subtract real single precision floating point vectors.
|
|
v4cfloat | fpsub (v4cfloat acc, v16cfloat xbuf, int xstart, unsigned int xoffs) |
| Subtract complex single precision floating point vectors.
|
|
v4cfloat | fpsub (v4cfloat acc, v8cfloat xbuf, int xstart, unsigned int xoffs) |
| Subtract complex single precision floating point vectors.
|
|
v8float | fpsub_abs (v8float acc, v32float xbuf, int xstart, unsigned int xoffs) |
| Take absolute value and subtract real single precision floating point vectors.
|
|
v8float | fpsub_abs (v8float acc, v16float xbuf, int xstart, unsigned int xoffs) |
| Take absolute value and subtract real single precision floating point vectors.
|
|
|
v8float | fpneg (v32float xbuf, int xstart, unsigned int xoffs) |
| Negate a real single precision floating point vector.
|
|
v8float | fpneg (v16float xbuf, int xstart, unsigned int xoffs) |
| Negate a real single precision floating point vector.
|
|
v4cfloat | fpneg (v16cfloat xbuf, int xstart, unsigned int xoffs) |
| Negate a complex single precision floating point vector.
|
|
v4cfloat | fpneg (v8cfloat xbuf, int xstart, unsigned int xoffs) |
| Negate a complex single precision floating point vector.
|
|
v8float | fpneg_abs (v32float xbuf, int xstart, unsigned int xoffs) |
| Take absolute value and negate a real single precision floating point vector.
|
|
v8float | fpneg_abs (v16float xbuf, int xstart, unsigned int xoffs) |
| Take absolute value and negate a real single precision floating point vector.
|
|
Select elements and take absolute value of elements from a real single precision floating point vector.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the absolute values.
- Parameters
-
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Select elements and take absolute value of elements from a real single precision floating point vector.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the absolute values.
- Parameters
-
xbuf | Input buffer. Small buffer variant. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Add single precision real floating point vectors.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the addition result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Big input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Add single precision real floating point vectors.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the addition result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. Small buffer variant. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Add complex single precision floating point vectors.
for (i = 0 ; i < 4 ; i++)
- Returns
- Vector with the addition result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The offsets are referring to complex lanes (lane 0 corresponds to the first real and complex values). |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. The offsets are referring to complex lanes. For optimized code should be compile time constant. |
Add complex single precision floating point vectors.
for (i = 0 ; i < 4 ; i++)
- Returns
- Vector with the addition result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. Small buffer variant. |
xstart | Starting offset for all lanes of X. The offsets are referring to complex lanes (lane 0 corresponds to the first real and complex values). |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. The offsets are referring to complex lanes. For optimized code should be compile time constant. |
Take absolute value and add real single precision floating point vectors.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the addition result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Take absolute value and add real single precision floating point vectors.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the addition result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. Small buffer variant. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Negate a real single precision floating point vector.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the negated result.
- Parameters
-
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Negate a real single precision floating point vector.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the negated result.
- Parameters
-
xbuf | Input buffer. Small buffer variant. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Negate a complex single precision floating point vector.
for (i = 0 ; i < 4 ; i++)
- Returns
- Vector with the subtraction result.
- Parameters
-
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The offsets are referring to complex lanes (lane 0 corresponds to the first real and complex values). |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. The offsets are referring to complex lanes. For optimized code should be compile time constant. |
Negate a complex single precision floating point vector.
for (i = 0 ; i < 4 ; i++)
- Returns
- Vector with the subtraction result.
- Parameters
-
xbuf | Input buffer. Small buffer variant. |
xstart | Starting offset for all lanes of X. The offsets are referring to complex lanes (lane 0 corresponds to the first real and complex values). |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. The offsets are referring to complex lanes. For optimized code should be compile time constant. |
Take absolute value and negate a real single precision floating point vector.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the negated absolute values.
- Parameters
-
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Take absolute value and negate a real single precision floating point vector.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the negated absolute values.
- Parameters
-
xbuf | Input buffer. Small buffer variant. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Subtract real single precision floating point vectors.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the subtraction result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Subtract real single precision floating point vectors.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the subtraction result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. Small buffer variant. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Subtract complex single precision floating point vectors.
for (i = 0 ; i < 4 ; i++)
- Returns
- Vector with the subtraction result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. The offsets are referring to complex lanes (lane 0 corresponds to the first real and complex values). |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. The offsets are referring to complex lanes. For optimized code should be compile time constant. |
Subtract complex single precision floating point vectors.
for (i = 0 ; i < 4 ; i++)
- Returns
- Vector with the subtraction result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. Small buffer variant. |
xstart | Starting offset for all lanes of X. The offsets are referring to complex lanes (lane 0 corresponds to the first real and complex values). |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. The offsets are referring to complex lanes. For optimized code should be compile time constant. |
Take absolute value and subtract real single precision floating point vectors.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the abs-subtraction result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |
Take absolute value and subtract real single precision floating point vectors.
for (i = 0 ; i < 8 ; i++)
- Returns
- Vector with the abs-subtraction result.
- Parameters
-
acc | Incoming accumulation vector. |
xbuf | Input buffer. Small buffer variant. |
xstart | Starting offset for all lanes of X. |
xoffs | 4 bits per lane: Additional lane-dependent offset for X. |