Simple Float Vector Lane Selection
Select: Selects between the first set of lanes or the second one according to the value in 'select'. If the lane corresponding bit in select is 0 it returns the value in the first set of lanes,otherwise, if it is 1, it returns the value in the second set of lanes.
Shuffle: Shuffle selects from a single input acording to the start/offset computation.
- Note
- fpsel behaves as a "Shuffle" intrinsic.
To have more information in lane selection please refer to here.
|
v8float | fpshuffle (v8float xbuf, int xstart, unsigned int xoffs) |
| Shuffle for single precision real floating point vectors.
|
|
v8float | fpshuffle (v16float xbuf, int xstart, unsigned int xoffs) |
| Shuffle for single precision real floating point vectors.
|
|
v8float | fpshuffle (v8float xbuf) |
| Shuffle for single precision real floating point vectors.
|
|
v8float | fpshuffle (v32float xbuf, int xstart, unsigned int xoffs) |
| Shuffle for single precision real floating point vectors.
|
|
v4cfloat | fpshuffle (v4cfloat xbuf, int xstart, unsigned int xoffs) |
| Shuffle for single precision complex floating point vectors.
|
|
v4cfloat | fpshuffle (v8cfloat xbuf, int xstart, unsigned int xoffs) |
| Shuffle for single precision complex floating point vectors.
|
|
v4cfloat | fpshuffle (v4cfloat xbuf) |
| Shuffle for single precision complex floating point vectors.
|
|
v4cfloat | fpshuffle (v16cfloat xbuf, int xstart, unsigned int xoffs) |
| Shuffle for single precision complex floating point vectors.
|
|
v4cfloat | fpshuffle_c (v4cfloat xbuf, int xstart, unsigned int xoffs) |
| Shuffle for single precision complex conjugate floating point vectors.
|
|
v4cfloat | fpshuffle_c (v8cfloat xbuf, int xstart, unsigned int xoffs) |
| Shuffle for single precision complex conjugate floating point vectors.
|
|
v4cfloat | fpshuffle_c (v4cfloat xbuf) |
| Shuffle for single precision complex conjugate floating point vectors.
|
|
v4cfloat | fpshuffle_c (v16cfloat xbuf, int xstart, unsigned int xoffs) |
| Shuffle for single precision complex conjugate floating point vectors.
|
|
v8float fpshuffle |
( |
v8float |
xbuf, |
|
|
int |
xstart, |
|
|
unsigned int |
xoffs |
|
) |
| |
Shuffle for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~
for (i = 0; i < 8; i++)
ret[i] = xbuf[xstart + xoffs[i]]
~~~~~~~~~~~~~~~~~~~
- Returns
- Result vector.
- Parameters
-
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpshuffle |
( |
v16float |
xbuf, |
|
|
int |
xstart, |
|
|
unsigned int |
xoffs |
|
) |
| |
Shuffle for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~
for (i = 0; i < 8; i++)
ret[i] = xbuf[xstart + xoffs[i]]
~~~~~~~~~~~~~~~~~~~
- Returns
- Result vector.
- Parameters
-
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v8float fpshuffle |
( |
v8float |
xbuf | ) |
|
Shuffle for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~
for (i = 0 ; i < 8 ; i++)
ret[i] = xbuf[i]
~~~~~~~~~~~~~~~~~~~
- Returns
- Result vector.
- Parameters
-
v8float fpshuffle |
( |
v32float |
xbuf, |
|
|
int |
xstart, |
|
|
unsigned int |
xoffs |
|
) |
| |
Shuffle for single precision real floating point vectors.
~~~~~~~~~~~~~~~~~~~
for (i = 0; i < 8; i++)
ret[i] = xbuf[xstart + xoffs[i]]
~~~~~~~~~~~~~~~~~~~
- Returns
- Result vector.
- Parameters
-
xbuf | Input buffer. |
xstart | Starting offset for all lanes of X. |
xoffs | 8 x 4 bits: Additional lane-dependent offset for X. |
v4cfloat fpshuffle |
( |
v4cfloat |
xbuf, |
|
|
int |
xstart, |
|
|
unsigned int |
xoffs |
|
) |
| |
Shuffle for single precision complex floating point vectors.
~~~~~~~~~~~~~~~~~~~
for (i = 0; i < 4; i++)
ret[i] = xbuf[xstart + xoffs[i]]
~~~~~~~~~~~~~~~~~~~
- Returns
- Result vector.
- Parameters
-
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).
|
- Note
- When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpshuffle |
( |
v8cfloat |
xbuf, |
|
|
int |
xstart, |
|
|
unsigned int |
xoffs |
|
) |
| |
Shuffle for single precision complex floating point vectors.
~~~~~~~~~~~~~~~~~~~
for (i = 0; i < 4; i++)
ret[i] = xbuf[xstart + xoffs[i]]
~~~~~~~~~~~~~~~~~~~
- Returns
- Result vector.
- Parameters
-
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).
|
- Note
- When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpshuffle |
( |
v4cfloat |
xbuf | ) |
|
Shuffle for single precision complex floating point vectors.
~~~~~~~~~~~~~~~~~~~
for (i = 0 ; i < 4 ; i++)
ret[i] = xbuf[i]
~~~~~~~~~~~~~~~~~~~
- Returns
- Result vector.
- Parameters
-
v4cfloat fpshuffle |
( |
v16cfloat |
xbuf, |
|
|
int |
xstart, |
|
|
unsigned int |
xoffs |
|
) |
| |
Shuffle for single precision complex floating point vectors.
~~~~~~~~~~~~~~~~~~~
for (i = 0; i < 4; i++)
ret[i] = xbuf[xstart + xoffs[i]]
~~~~~~~~~~~~~~~~~~~
- Returns
- Result vector.
- Parameters
-
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).
|
- Note
- When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpshuffle_c |
( |
v4cfloat |
xbuf, |
|
|
int |
xstart, |
|
|
unsigned int |
xoffs |
|
) |
| |
Shuffle 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
-
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).
|
- Note
- When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpshuffle_c |
( |
v8cfloat |
xbuf, |
|
|
int |
xstart, |
|
|
unsigned int |
xoffs |
|
) |
| |
Shuffle 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
-
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).
|
- Note
- When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.
v4cfloat fpshuffle_c |
( |
v4cfloat |
xbuf | ) |
|
Shuffle for single precision complex conjugate floating point vectors.
~~~~~~~~~~~~~~~~~~~
for (i = 0 ; i < 4 ; i++)
ret[i] = conj(xbuf[i])
~~~~~~~~~~~~~~~~~~~
- Returns
- Result vector.
- Parameters
-
v4cfloat fpshuffle_c |
( |
v16cfloat |
xbuf, |
|
|
int |
xstart, |
|
|
unsigned int |
xoffs |
|
) |
| |
Shuffle 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
-
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).
|
- Note
- When xoffs is a runtime parameter, it might be more efficient to use fpmac_conf and calculate the offsets manually.