![]() |
AI Engine Intrinsics
(AIE) r2p21
|
Advanced Floating-point 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.
To have more information in lane selection please refer to here.
Functions | |
| v16float | fpselect16 (unsigned int select, v32float xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi) |
| Performs a floating point selection between lanes of xbuff. | |
| v16float | fpselect16 (unsigned int select, v16float xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi) |
| Performs a floating point selection between lanes of xbuff. | |
| v16float | fpselect16 (unsigned int select, v16float xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16float ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi) |
| Performs a floating point selection between lanes of xbuff and ybuff. | |
| v8cfloat | fpselect8 (unsigned int select, v16cfloat xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int yoffsets) |
| Performs a floating point selection between lanes of xbuff. | |
| v8cfloat | fpselect8 (unsigned int select, v8cfloat xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int yoffsets) |
| Performs a floating point selection between lanes of xbuff. | |
| v8cfloat | fpselect8 (unsigned int select, v8cfloat xbuff, int xstart, unsigned int xoffsets, v8cfloat ybuff, int ystart, unsigned int yoffsets) |
| Performs a floating point selection between lanes of xbuff and ybuff. | |
| v16float | fpshuffle16 (v32float xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi) |
| Performs a floating point shuffle between lanes of xbuff. | |
| v16float | fpshuffle16 (v16float xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi) |
| Performs a floating point shuffle between lanes of xbuff. | |
| v8cfloat | fpshuffle8 (v16cfloat xbuff, int xstart, unsigned int xoffsets) |
| Performs a floating point shuffle between lanes of xbuff. | |
| v8cfloat | fpshuffle8 (v8cfloat xbuff, int xstart, unsigned int xoffsets) |
| Performs a floating point shuffle between lanes of xbuff. | |
| v16float fpselect16 | ( | unsigned int | select, |
| v32float | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| unsigned int | xoffsets_hi, | ||
| int | ystart, | ||
| unsigned int | yoffsets, | ||
| unsigned int | yoffsets_hi | ||
| ) |
Performs a floating point selection between lanes of xbuff.
| Input/Output | Type | Comments |
|---|---|---|
| return | v16float | Value of each lane is the result of a floating point selection between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
| select | unsigned int | Value of each bit selects from the value to be placed in the corresponding vector position |
| xbuff | v32float | Input buffer of 32 elements with single precision |
| xstart | int | Starting position offset applied to all lanes of input from X buffer |
| xoffsets | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane |
| xoffsets_hi | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane |
| ystart | int | Starting position offset applied to all lanes of input from xbuffer for the second input |
| yoffsets | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane |
| yoffsets_hi | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane |
| v16float fpselect16 | ( | unsigned int | select, |
| v16float | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| unsigned int | xoffsets_hi, | ||
| int | ystart, | ||
| unsigned int | yoffsets, | ||
| unsigned int | yoffsets_hi | ||
| ) |
Performs a floating point selection between lanes of xbuff.
| Input/Output | Type | Comments |
|---|---|---|
| return | v16float | Value of each lane is the result of a floating point selection between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
| select | unsigned int | Value of each bit selects from the value to be placed in the corresponding vector position |
| xbuff | v16float | Input buffer of 16 elements with single precision |
| xstart | int | Starting position offset applied to all lanes of input from X buffer |
| xoffsets | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane |
| xoffsets_hi | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane |
| ystart | int | Starting position offset applied to all lanes of input from xbuffer for the second input |
| yoffsets | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane |
| yoffsets_hi | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane |
| v16float fpselect16 | ( | unsigned int | select, |
| v16float | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| unsigned int | xoffsets_hi, | ||
| v16float | ybuff, | ||
| int | ystart, | ||
| unsigned int | yoffsets, | ||
| unsigned int | yoffsets_hi | ||
| ) |
Performs a floating point selection between lanes of xbuff and ybuff.
| Input/Output | Type | Comments |
|---|---|---|
| return | v16float | Value of each lane is the result of a floating point selection between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
| select | unsigned int | Value of each bit selects from the value to be placed in the corresponding vector position |
| xbuff | v16float | Input buffer of 16 elements with single precision |
| xstart | int | Starting position offset applied to all lanes of input from X buffer |
| xoffsets | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane |
| xoffsets_hi | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane |
| ybuff | v16float | Input buffer of 16 elements with single precision |
| ystart | int | Starting position offset applied to all lanes of input from ybuffer for the second input |
| yoffsets | unsigned int | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane |
| yoffsets_hi | unsigned int | 4b offset for each lane, applied to the ybuffer. LSB apply to 8th lane |
| v8cfloat fpselect8 | ( | unsigned int | select, |
| v16cfloat | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| int | ystart, | ||
| unsigned int | yoffsets | ||
| ) |
Performs a floating point selection between lanes of xbuff.
| Input/Output | Type | Comments |
|---|---|---|
| return | v8cfloat | Value of each lane is the result of a floating point selection between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
| select | unsigned int | Value of each bit selects from the value to be placed in the corresponding vector position |
| xbuff | v16cfloat | Input buffer of 16 elements with single precision |
| xstart | int | Starting position offset applied to all lanes of input from X buffer |
| xoffsets | unsigned int | 3b (aligned to 4b) offset for each lane, applied to the xbuffer. LSB apply to first lane |
| ystart | int | Starting position offset applied to all lanes of input from xbuffer for the second input |
| yoffsets | unsigned int | 3b (aligned to 4b) offset for each lane in the xbuffer for the second input. LSB apply to first lane |
| v8cfloat fpselect8 | ( | unsigned int | select, |
| v8cfloat | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| int | ystart, | ||
| unsigned int | yoffsets | ||
| ) |
Performs a floating point selection between lanes of xbuff.
| Input/Output | Type | Comments |
|---|---|---|
| return | v8cfloat | Value of each lane is the result of a floating point selection between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
| select | unsigned int | Value of each bit selects from the value to be placed in the corresponding vector position |
| xbuff | v8cfloat | Input buffer of 8 elements with single precision |
| xstart | int | Starting position offset applied to all lanes of input from X buffer |
| xoffsets | unsigned int | 3b (aligned to 4b) offset for each lane, applied to the xbuffer. LSB apply to first lane |
| ystart | int | Starting position offset applied to all lanes of input from xbuffer for the second input |
| yoffsets | unsigned int | 3b (aligned to 4b) offset for each lane in the xbuffer for the second input. LSB apply to first lane |
| v8cfloat fpselect8 | ( | unsigned int | select, |
| v8cfloat | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| v8cfloat | ybuff, | ||
| int | ystart, | ||
| unsigned int | yoffsets | ||
| ) |
Performs a floating point selection between lanes of xbuff and ybuff.
| Input/Output | Type | Comments |
|---|---|---|
| return | v8cfloat | Value of each lane is the result of a floating point selection between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
| select | unsigned int | Value of each bit selects from the value to be placed in the corresponding vector position |
| xbuff | v8cfloat | Input buffer of 8 elements with single precision |
| xstart | int | Starting position offset applied to all lanes of input from X buffer |
| xoffsets | unsigned int | 3b (aligned to 4b) offset for each lane, applied to the xbuffer. LSB apply to first lane |
| ybuff | v8cfloat | Input buffer of 8 elements with single precision |
| ystart | int | Starting position offset applied to all lanes of input from ybuffer for the second input |
| yoffsets | unsigned int | 3b (aligned to 4b) offset for each lane in the ybuffer for the second input. LSB apply to first lane |
| v16float fpshuffle16 | ( | v32float | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| unsigned int | xoffsets_hi | ||
| ) |
Performs a floating point shuffle between lanes of xbuff.
| Input/Output | Type | Comments |
|---|---|---|
| return | v16float | Value of each lane is the result of a floating point shuffle between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
| xbuff | v32float | Input buffer of 32 elements with single precision |
| xstart | int | Starting position offset applied to all lanes of input from X buffer |
| xoffsets | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane |
| xoffsets_hi | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane |
| v16float fpshuffle16 | ( | v16float | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| unsigned int | xoffsets_hi | ||
| ) |
Performs a floating point shuffle between lanes of xbuff.
| Input/Output | Type | Comments |
|---|---|---|
| return | v16float | Value of each lane is the result of a floating point shuffle between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
| xbuff | v16float | Input buffer of 16 elements with single precision |
| xstart | int | Starting position offset applied to all lanes of input from X buffer |
| xoffsets | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane |
| xoffsets_hi | unsigned int | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane |
| v8cfloat fpshuffle8 | ( | v16cfloat | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets | ||
| ) |
Performs a floating point shuffle between lanes of xbuff.
| Input/Output | Type | Comments |
|---|---|---|
| return | v8cfloat | Value of each lane is the result of a floating point shuffle between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
| xbuff | v16cfloat | Input buffer of 16 elements with single precision |
| xstart | int | Starting position offset applied to all lanes of input from X buffer |
| xoffsets | unsigned int | 3b (aligned to 4b) offset for each lane, applied to the xbuffer. LSB apply to first lane |
| v8cfloat fpshuffle8 | ( | v8cfloat | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets | ||
| ) |
Performs a floating point shuffle between lanes of xbuff.
| Input/Output | Type | Comments |
|---|---|---|
| return | v8cfloat | Value of each lane is the result of a floating point shuffle between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
| xbuff | v8cfloat | Input buffer of 8 elements with single precision |
| xstart | int | Starting position offset applied to all lanes of input from X buffer |
| xoffsets | unsigned int | 3b (aligned to 4b) offset for each lane, applied to the xbuffer. LSB apply to first lane |