AI Engine Intrinsics User Guide
(AIE) v(2024.1)
|
Vector MAC intrinsics with pre-adding and upshifting with 16 bit real by 32 bit real
Functions | |
v16acc48 | mac8_sym_uct (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply-accumulate intrinsic function with unit center-tap optimization with pre-add from x input buffer . | |
v16acc48 | mac8_sym_uct (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply-accumulate intrinsic function with unit center-tap optimization with pre-add from x input buffer using small X input buffer. | |
v16acc48 | mac8_sym_uct (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply-accumulate intrinsic function with unit center-tap optimization with pre-add from x and y input buffers using small X input buffer. | |
v16acc48 | msc8_sym_uct (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply-subtract intrinsic function with unit center-tap optimization with pre-add from x input buffer . | |
v16acc48 | msc8_sym_uct (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply-subtract intrinsic function with unit center-tap optimization with pre-add from x input buffer using small X input buffer. | |
v16acc48 | msc8_sym_uct (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply-subtract intrinsic function with unit center-tap optimization with pre-add from x and y input buffers using small X input buffer. | |
v16acc48 | mul8_sym_uct (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply intrinsic function with unit center-tap optimization with pre-add from x input buffer . | |
v16acc48 | mul8_sym_uct (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply intrinsic function with unit center-tap optimization with pre-add from x input buffer using small X input buffer. | |
v16acc48 | mul8_sym_uct (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply intrinsic function with unit center-tap optimization with pre-add from x and y input buffers using small X input buffer. | |
v16acc48 | negmul8_sym_uct (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply-negate intrinsic function with unit center-tap optimization with pre-add from x input buffer . | |
v16acc48 | negmul8_sym_uct (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply-negate intrinsic function with unit center-tap optimization with pre-add from x input buffer using small X input buffer. | |
v16acc48 | negmul8_sym_uct (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, int uct_col, int uct_shift, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
Symetric multiply-negate intrinsic function with unit center-tap optimization with pre-add from x and y input buffers using small X input buffer. | |
v16acc48 mac8_sym_uct | ( | v16acc48 | acc, |
v64int16 | xbuff, | ||
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply-accumulate intrinsic function with unit center-tap optimization with pre-add from x input buffer .
acc | Incoming accumulation vector (16 x int48 lanes) |
xbuff | Input buffer of 64 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 mac8_sym_uct | ( | v16acc48 | acc, |
v32int16 | xbuff, | ||
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply-accumulate intrinsic function with unit center-tap optimization with pre-add from x input buffer using small X input buffer.
acc | Incoming accumulation vector (16 x int48 lanes) |
xbuff | Input buffer of 32 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 mac8_sym_uct | ( | v16acc48 | acc, |
v32int16 | xbuff, | ||
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
v32int16 | ybuff, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply-accumulate intrinsic function with unit center-tap optimization with pre-add from x and y input buffers using small X input buffer.
acc | Incoming accumulation vector (16 x int48 lanes) |
xbuff | Input buffer of 32 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ybuff | Right input buffer of 32 elements of type int16 |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 msc8_sym_uct | ( | v16acc48 | acc, |
v64int16 | xbuff, | ||
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply-subtract intrinsic function with unit center-tap optimization with pre-add from x input buffer .
acc | Incoming accumulation vector (16 x int48 lanes) |
xbuff | Input buffer of 64 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 msc8_sym_uct | ( | v16acc48 | acc, |
v32int16 | xbuff, | ||
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply-subtract intrinsic function with unit center-tap optimization with pre-add from x input buffer using small X input buffer.
acc | Incoming accumulation vector (16 x int48 lanes) |
xbuff | Input buffer of 32 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 msc8_sym_uct | ( | v16acc48 | acc, |
v32int16 | xbuff, | ||
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
v32int16 | ybuff, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply-subtract intrinsic function with unit center-tap optimization with pre-add from x and y input buffers using small X input buffer.
acc | Incoming accumulation vector (16 x int48 lanes) |
xbuff | Input buffer of 32 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ybuff | Right input buffer of 32 elements of type int16 |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 mul8_sym_uct | ( | v64int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply intrinsic function with unit center-tap optimization with pre-add from x input buffer .
xbuff | Input buffer of 64 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 mul8_sym_uct | ( | v32int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply intrinsic function with unit center-tap optimization with pre-add from x input buffer using small X input buffer.
xbuff | Input buffer of 32 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 mul8_sym_uct | ( | v32int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
v32int16 | ybuff, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply intrinsic function with unit center-tap optimization with pre-add from x and y input buffers using small X input buffer.
xbuff | Input buffer of 32 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ybuff | Right input buffer of 32 elements of type int16 |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 negmul8_sym_uct | ( | v64int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply-negate intrinsic function with unit center-tap optimization with pre-add from x input buffer .
xbuff | Input buffer of 64 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 negmul8_sym_uct | ( | v32int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply-negate intrinsic function with unit center-tap optimization with pre-add from x input buffer using small X input buffer.
xbuff | Input buffer of 32 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |
v16acc48 negmul8_sym_uct | ( | v32int16 | xbuff, |
int | xstart, | ||
unsigned int | xoffsets, | ||
int | xstep, | ||
v32int16 | ybuff, | ||
int | ystart, | ||
int | uct_col, | ||
int | uct_shift, | ||
v8int32 | zbuff, | ||
int | zstart, | ||
unsigned int | zoffsets, | ||
int | zstep | ||
) |
Symetric multiply-negate intrinsic function with unit center-tap optimization with pre-add from x and y input buffers using small X input buffer.
xbuff | Input buffer of 32 elements of type int16 |
xstart | Starting position offset applied to all lanes of input from X buffer. |
xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane |
xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep). |
ybuff | Right input buffer of 32 elements of type int16 |
ystart | Starting position offset applied to all lanes for input from Y buffer. |
uct_col | Select which column of data from the Y buffer to upshift for the lower half of the output accumulator. This must be a compile time constant. |
uct_shift | Upshift value to the four upshifted lanes |
zbuff | Input buffer of 8 elements of type int32 |
zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used. |
zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
zstep | Step between each column for selection in the zbuffer. |