AI Engine Intrinsics
(AIE) r2p21
|
Vector maxdiff.
Performs the integer subtraction between the lanes of X/Y (selected using the scheme described in the Advanced Compare page) and returns the maximum between zero and the subtraction result as a lane in the output vector.
Functions | |
v16int32 | maxdiff16 (v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi) |
Performs a maximum difference computation between lanes of xbuff. | |
v16int32 | maxdiff16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi) |
Performs a maximum difference computation between lanes of xbuff. | |
v16int32 | maxdiff16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int32 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi) |
Performs a maximum difference computation between lanes of xbuff and ybuff. | |
v32int16 | maxdiff32 (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare) |
Performs a maximum difference computation between lanes of xbuff. | |
v32int16 | maxdiff32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare) |
Performs a maximum difference computation between lanes of xbuff. | |
v32int16 | maxdiff32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, v32int16 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare) |
Performs a maximum difference computation between lanes of xbuff and ybuff. | |
v16int32 | maxdiffcmp16 (v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int &cmp) |
Performs a maximum difference computation between lanes of xbuff. | |
v16int32 | maxdiffcmp16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int &cmp) |
Performs a maximum difference computation between lanes of xbuff. | |
v16int32 | maxdiffcmp16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int32 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int &cmp) |
Performs a maximum difference computation between lanes of xbuff and ybuff. | |
v32int16 | maxdiffcmp32 (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare, unsigned int &cmp) |
Performs a maximum difference computation between lanes of xbuff. | |
v32int16 | maxdiffcmp32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare, unsigned int &cmp) |
Performs a maximum difference computation between lanes of xbuff. | |
v32int16 | maxdiffcmp32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, v32int16 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare, unsigned int &cmp) |
Performs a maximum difference computation between lanes of xbuff and ybuff. | |
v16int32 maxdiff16 | ( | v32int32 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi | ||
) |
Performs a maximum difference computation between lanes of xbuff.
Input/Output | Type | Comments |
---|---|---|
return | v16int32 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v32int32 | Input buffer of 32 elements with 32-bit 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 |
v16int32 maxdiff16 | ( | v16int32 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi | ||
) |
Performs a maximum difference computation between lanes of xbuff.
Input/Output | Type | Comments |
---|---|---|
return | v16int32 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v16int32 | Input buffer of 16 elements with 32-bit 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 |
v16int32 maxdiff16 | ( | v16int32 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
v16int32 | ybuff, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi | ||
) |
Performs a maximum difference computation between lanes of xbuff and ybuff.
Input/Output | Type | Comments |
---|---|---|
return | v16int32 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v16int32 | Input buffer of 16 elements with 32-bit 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 | v16int32 | Input buffer of 16 elements with 32-bit 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 |
v32int16 maxdiff32 | ( | v64int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
unsigned int | xsquare, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi, | ||
unsigned int | ysquare | ||
) |
Performs a maximum difference computation between lanes of xbuff.
Input/Output | Type | Comments |
---|---|---|
return | v32int16 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v64int16 | Input buffer of 64 elements with 16-bit 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 16th lane |
xsquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333) |
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 16th lane |
ysquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333) |
v32int16 maxdiff32 | ( | v32int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
unsigned int | xsquare, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi, | ||
unsigned int | ysquare | ||
) |
Performs a maximum difference computation between lanes of xbuff.
Input/Output | Type | Comments |
---|---|---|
return | v32int16 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v32int16 | Input buffer of 32 elements with 16-bit 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 16th lane |
xsquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333) |
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 16th lane |
ysquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333) |
v32int16 maxdiff32 | ( | v32int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
unsigned int | xsquare, | ||
v32int16 | ybuff, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi, | ||
unsigned int | ysquare | ||
) |
Performs a maximum difference computation between lanes of xbuff and ybuff.
Input/Output | Type | Comments |
---|---|---|
return | v32int16 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v32int16 | Input buffer of 32 elements with 16-bit 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 16th lane |
xsquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333) |
ybuff | v32int16 | Input buffer of 32 elements with 16-bit 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 16th lane |
ysquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333) |
v16int32 maxdiffcmp16 | ( | v32int32 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi, | ||
unsigned int & | cmp | ||
) |
Performs a maximum difference computation between lanes of xbuff.
Input/Output | Type | Comments |
---|---|---|
return | v16int32 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v32int32 | Input buffer of 32 elements with 32-bit 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 |
cmp | unsigned int | 32bit value where each bit is the results of the comparison lane by lane, referred to the output lanes |
v16int32 maxdiffcmp16 | ( | v16int32 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi, | ||
unsigned int & | cmp | ||
) |
Performs a maximum difference computation between lanes of xbuff.
Input/Output | Type | Comments |
---|---|---|
return | v16int32 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v16int32 | Input buffer of 16 elements with 32-bit 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 |
cmp | unsigned int | 32bit value where each bit is the results of the comparison lane by lane, referred to the output lanes |
v16int32 maxdiffcmp16 | ( | v16int32 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
v16int32 | ybuff, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi, | ||
unsigned int & | cmp | ||
) |
Performs a maximum difference computation between lanes of xbuff and ybuff.
Input/Output | Type | Comments |
---|---|---|
return | v16int32 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v16int32 | Input buffer of 16 elements with 32-bit 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 | v16int32 | Input buffer of 16 elements with 32-bit 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 |
cmp | unsigned int | 32bit value where each bit is the results of the comparison lane by lane, referred to the output lanes |
v32int16 maxdiffcmp32 | ( | v64int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
unsigned int | xsquare, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi, | ||
unsigned int | ysquare, | ||
unsigned int & | cmp | ||
) |
Performs a maximum difference computation between lanes of xbuff.
Input/Output | Type | Comments |
---|---|---|
return | v32int16 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v64int16 | Input buffer of 64 elements with 16-bit 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 16th lane |
xsquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333) |
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 16th lane |
ysquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333) |
cmp | unsigned int | 32bit value where each bit is the results of the comparison lane by lane, referred to the output lanes |
v32int16 maxdiffcmp32 | ( | v32int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
unsigned int | xsquare, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi, | ||
unsigned int | ysquare, | ||
unsigned int & | cmp | ||
) |
Performs a maximum difference computation between lanes of xbuff.
Input/Output | Type | Comments |
---|---|---|
return | v32int16 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v32int16 | Input buffer of 32 elements with 16-bit 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 16th lane |
xsquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333) |
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 16th lane |
ysquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333) |
cmp | unsigned int | 32bit value where each bit is the results of the comparison lane by lane, referred to the output lanes |
v32int16 maxdiffcmp32 | ( | v32int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
unsigned int | xoffsets_hi, | ||
unsigned int | xsquare, | ||
v32int16 | ybuff, | ||
int | ystart, | ||
unsigned int | yoffsets, | ||
unsigned int | yoffsets_hi, | ||
unsigned int | ysquare, | ||
unsigned int & | cmp | ||
) |
Performs a maximum difference computation between lanes of xbuff and ybuff.
Input/Output | Type | Comments |
---|---|---|
return | v32int16 | Value of each lane is the result of a maximum difference computation between lanes of xbuff where the result of lane 0 goes to lane 0 of the output. |
xbuff | v32int16 | Input buffer of 32 elements with 16-bit 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 16th lane |
xsquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333) |
ybuff | v32int16 | Input buffer of 32 elements with 16-bit 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 16th lane |
ysquare | unsigned int | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333) |
cmp | unsigned int | 32bit value where each bit is the results of the comparison lane by lane, referred to the output lanes |