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. |