![]() |
AI Engine Intrinsics User Guide
(AIE) r2p22
|
Vector MAC intrinsics with 32 bit real by 32 bit real
Functions | |
| v4acc80 | lmac4 (v4acc80 acc, v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
| Multiply-accumulate intrinsic function . More... | |
| v4acc80 | lmac4 (v4acc80 acc, v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
| Multiply-accumulate intrinsic function using small X input buffer. More... | |
| v8acc80 | lmac8 (v8acc80 acc, v32int32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets) |
| Multiply-accumulate intrinsic function . More... | |
| v8acc80 | lmac8 (v8acc80 acc, v16int32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets) |
| Multiply-accumulate intrinsic function using small X input buffer. More... | |
| v4acc80 | lmsc4 (v4acc80 acc, v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
| Multiply-subtract intrinsic function . More... | |
| v4acc80 | lmsc4 (v4acc80 acc, v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
| Multiply-subtract intrinsic function using small X input buffer. More... | |
| v8acc80 | lmsc8 (v8acc80 acc, v32int32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets) |
| Multiply-subtract intrinsic function . More... | |
| v8acc80 | lmsc8 (v8acc80 acc, v16int32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets) |
| Multiply-subtract intrinsic function using small X input buffer. More... | |
| v4acc80 | lmul4 (v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
| Multiply intrinsic function . More... | |
| v4acc80 | lmul4 (v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
| Multiply intrinsic function using small X input buffer. More... | |
| v8acc80 | lmul8 (v32int32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets) |
| Multiply intrinsic function . More... | |
| v8acc80 | lmul8 (v16int32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets) |
| Multiply intrinsic function using small X input buffer. More... | |
| v4acc80 | lnegmul4 (v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
| Multiply-negate intrinsic function . More... | |
| v4acc80 | lnegmul4 (v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep) |
| Multiply-negate intrinsic function using small X input buffer. More... | |
| v8acc80 | lnegmul8 (v32int32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets) |
| Multiply-negate intrinsic function . More... | |
| v8acc80 | lnegmul8 (v16int32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets) |
| Multiply-negate intrinsic function using small X input buffer. More... | |
| v4acc80 lmac4 | ( | v4acc80 | acc, |
| v32int32 | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| int | xstep, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets, | ||
| int | zstep | ||
| ) |
Multiply-accumulate intrinsic function .
| Input/Output | Type | Comments |
|---|---|---|
| return | v4acc80 | Returned accumulation vector (4 x int80 lanes) |
| acc | v4acc80 | Incoming accumulation vector (4 x int80 lanes) |
| xbuff | v32int32 | Input buffer of 32 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| xstep | unsigned int | Step between each column for selection in the xbuffer. |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| zstep | int | Step between each column for selection in the zbuffer. |
| v4acc80 lmac4 | ( | v4acc80 | acc, |
| v16int32 | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| int | xstep, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets, | ||
| int | zstep | ||
| ) |
Multiply-accumulate intrinsic function using small X input buffer.
| Input/Output | Type | Comments |
|---|---|---|
| return | v4acc80 | Returned accumulation vector (4 x int80 lanes) |
| acc | v4acc80 | Incoming accumulation vector (4 x int80 lanes) |
| xbuff | v16int32 | Input buffer of 16 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| xstep | unsigned int | Step between each column for selection in the xbuffer. |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| zstep | int | Step between each column for selection in the zbuffer. |
| v8acc80 lmac8 | ( | v8acc80 | acc, |
| v32int32 | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets | ||
| ) |
Multiply-accumulate intrinsic function .
| Input/Output | Type | Comments |
|---|---|---|
| return | v8acc80 | Returned accumulation vector (8 x int80 lanes) |
| acc | v8acc80 | Incoming accumulation vector (8 x int80 lanes) |
| xbuff | v32int32 | Input buffer of 32 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| v8acc80 lmac8 | ( | v8acc80 | acc, |
| v16int32 | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets | ||
| ) |
Multiply-accumulate intrinsic function using small X input buffer.
| Input/Output | Type | Comments |
|---|---|---|
| return | v8acc80 | Returned accumulation vector (8 x int80 lanes) |
| acc | v8acc80 | Incoming accumulation vector (8 x int80 lanes) |
| xbuff | v16int32 | Input buffer of 16 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| v4acc80 lmsc4 | ( | v4acc80 | acc, |
| v32int32 | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| int | xstep, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets, | ||
| int | zstep | ||
| ) |
Multiply-subtract intrinsic function .
| Input/Output | Type | Comments |
|---|---|---|
| return | v4acc80 | Returned accumulation vector (4 x int80 lanes) |
| acc | v4acc80 | Incoming accumulation vector (4 x int80 lanes) |
| xbuff | v32int32 | Input buffer of 32 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| xstep | unsigned int | Step between each column for selection in the xbuffer. |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| zstep | int | Step between each column for selection in the zbuffer. |
| v4acc80 lmsc4 | ( | v4acc80 | acc, |
| v16int32 | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| int | xstep, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets, | ||
| int | zstep | ||
| ) |
Multiply-subtract intrinsic function using small X input buffer.
| Input/Output | Type | Comments |
|---|---|---|
| return | v4acc80 | Returned accumulation vector (4 x int80 lanes) |
| acc | v4acc80 | Incoming accumulation vector (4 x int80 lanes) |
| xbuff | v16int32 | Input buffer of 16 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| xstep | unsigned int | Step between each column for selection in the xbuffer. |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| zstep | int | Step between each column for selection in the zbuffer. |
| v8acc80 lmsc8 | ( | v8acc80 | acc, |
| v32int32 | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets | ||
| ) |
Multiply-subtract intrinsic function .
| Input/Output | Type | Comments |
|---|---|---|
| return | v8acc80 | Returned accumulation vector (8 x int80 lanes) |
| acc | v8acc80 | Incoming accumulation vector (8 x int80 lanes) |
| xbuff | v32int32 | Input buffer of 32 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| v8acc80 lmsc8 | ( | v8acc80 | acc, |
| v16int32 | xbuff, | ||
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets | ||
| ) |
Multiply-subtract intrinsic function using small X input buffer.
| Input/Output | Type | Comments |
|---|---|---|
| return | v8acc80 | Returned accumulation vector (8 x int80 lanes) |
| acc | v8acc80 | Incoming accumulation vector (8 x int80 lanes) |
| xbuff | v16int32 | Input buffer of 16 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| v4acc80 lmul4 | ( | v32int32 | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| int | xstep, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets, | ||
| int | zstep | ||
| ) |
Multiply intrinsic function .
| Input/Output | Type | Comments |
|---|---|---|
| return | v4acc80 | Returned accumulation vector (4 x int80 lanes) |
| xbuff | v32int32 | Input buffer of 32 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| xstep | unsigned int | Step between each column for selection in the xbuffer. |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| zstep | int | Step between each column for selection in the zbuffer. |
| v4acc80 lmul4 | ( | v16int32 | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| int | xstep, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets, | ||
| int | zstep | ||
| ) |
Multiply intrinsic function using small X input buffer.
| Input/Output | Type | Comments |
|---|---|---|
| return | v4acc80 | Returned accumulation vector (4 x int80 lanes) |
| xbuff | v16int32 | Input buffer of 16 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| xstep | unsigned int | Step between each column for selection in the xbuffer. |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| zstep | int | Step between each column for selection in the zbuffer. |
| v8acc80 lmul8 | ( | v32int32 | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets | ||
| ) |
Multiply intrinsic function .
| Input/Output | Type | Comments |
|---|---|---|
| return | v8acc80 | Returned accumulation vector (8 x int80 lanes) |
| xbuff | v32int32 | Input buffer of 32 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| v8acc80 lmul8 | ( | v16int32 | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets | ||
| ) |
Multiply intrinsic function using small X input buffer.
| Input/Output | Type | Comments |
|---|---|---|
| return | v8acc80 | Returned accumulation vector (8 x int80 lanes) |
| xbuff | v16int32 | Input buffer of 16 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| v4acc80 lnegmul4 | ( | v32int32 | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| int | xstep, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets, | ||
| int | zstep | ||
| ) |
Multiply-negate intrinsic function .
| Input/Output | Type | Comments |
|---|---|---|
| return | v4acc80 | Returned accumulation vector (4 x int80 lanes) |
| xbuff | v32int32 | Input buffer of 32 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| xstep | unsigned int | Step between each column for selection in the xbuffer. |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| zstep | int | Step between each column for selection in the zbuffer. |
| v4acc80 lnegmul4 | ( | v16int32 | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| int | xstep, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets, | ||
| int | zstep | ||
| ) |
Multiply-negate intrinsic function using small X input buffer.
| Input/Output | Type | Comments |
|---|---|---|
| return | v4acc80 | Returned accumulation vector (4 x int80 lanes) |
| xbuff | v16int32 | Input buffer of 16 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| xstep | unsigned int | Step between each column for selection in the xbuffer. |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| zstep | int | Step between each column for selection in the zbuffer. |
| v8acc80 lnegmul8 | ( | v32int32 | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets | ||
| ) |
Multiply-negate intrinsic function .
| Input/Output | Type | Comments |
|---|---|---|
| return | v8acc80 | Returned accumulation vector (8 x int80 lanes) |
| xbuff | v32int32 | Input buffer of 32 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |
| v8acc80 lnegmul8 | ( | v16int32 | xbuff, |
| int | xstart, | ||
| unsigned int | xoffsets, | ||
| v8int32 | zbuff, | ||
| int | zstart, | ||
| unsigned int | zoffsets | ||
| ) |
Multiply-negate intrinsic function using small X input buffer.
| Input/Output | Type | Comments |
|---|---|---|
| return | v8acc80 | Returned accumulation vector (8 x int80 lanes) |
| xbuff | v16int32 | Input buffer of 16 elements of type int32 |
| 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 x buffer. LSB apply to first lane |
| zbuff | v8int32 | Input buffer of 8 elements of type int32 |
| zstart | int | 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 | unsigned int | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane |