AI Engine Intrinsics User Guide  (AIE) v(2024.1)
 All Data Structures Namespaces Functions Variables Typedefs Groups Pages

Overview

32 bit complex by 32 bit real using no conjugation

Functions

v2cacc80 lmac2 (v2cacc80 acc, v16cint32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex multiply-accumulate intrinsic function .
 
v2cacc80 lmac2 (v2cacc80 acc, v8cint32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex multiply-accumulate intrinsic function using small X input buffer.
 
v4cacc80 lmac4 (v4cacc80 acc, v16cint32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-accumulate intrinsic function .
 
v4cacc80 lmac4 (v4cacc80 acc, v8cint32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-accumulate intrinsic function using small X input buffer.
 
v2cacc80 lmsc2 (v2cacc80 acc, v16cint32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex multiply-subtract intrinsic function .
 
v2cacc80 lmsc2 (v2cacc80 acc, v8cint32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex multiply-subtract intrinsic function using small X input buffer.
 
v4cacc80 lmsc4 (v4cacc80 acc, v16cint32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-subtract intrinsic function .
 
v4cacc80 lmsc4 (v4cacc80 acc, v8cint32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-subtract intrinsic function using small X input buffer.
 
v2cacc80 lmul2 (v16cint32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex multiply intrinsic function .
 
v2cacc80 lmul2 (v8cint32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex multiply intrinsic function using small X input buffer.
 
v4cacc80 lmul4 (v16cint32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply intrinsic function .
 
v4cacc80 lmul4 (v8cint32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply intrinsic function using small X input buffer.
 
v2cacc80 lnegmul2 (v16cint32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex multiply-negate intrinsic function .
 
v2cacc80 lnegmul2 (v8cint32 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex multiply-negate intrinsic function using small X input buffer.
 
v4cacc80 lnegmul4 (v16cint32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-negate intrinsic function .
 
v4cacc80 lnegmul4 (v8cint32 xbuff, int xstart, unsigned int xoffsets, v8int32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-negate intrinsic function using small X input buffer.
 

Function Documentation

v2cacc80 lmac2 ( v2cacc80  acc,
v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex multiply-accumulate intrinsic function .

acc0 += z00*x00 + z01*x01
acc1 += z10*x10 + z11*x11
Returns
Returned accumulation vector (2 x cint80 lanes)
Parameters
accIncoming accumulation vector (2 x cint80 lanes)
xbuffInput buffer of 16 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v2cacc80 lmac2 ( v2cacc80  acc,
v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex multiply-accumulate intrinsic function using small X input buffer.

acc0 += z00*x00 + z01*x01
acc1 += z10*x10 + z11*x11
Returns
Returned accumulation vector (2 x cint80 lanes)
Parameters
accIncoming accumulation vector (2 x cint80 lanes)
xbuffInput buffer of 8 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v4cacc80 lmac4 ( v4cacc80  acc,
v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-accumulate intrinsic function .

acc0 += z00*x00
acc1 += z10*x10
acc2 += z20*x20
acc3 += z30*x30
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
accIncoming accumulation vector (4 x cint80 lanes)
xbuffInput buffer of 16 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v4cacc80 lmac4 ( v4cacc80  acc,
v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-accumulate intrinsic function using small X input buffer.

acc0 += z00*x00
acc1 += z10*x10
acc2 += z20*x20
acc3 += z30*x30
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
accIncoming accumulation vector (4 x cint80 lanes)
xbuffInput buffer of 8 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v2cacc80 lmsc2 ( v2cacc80  acc,
v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex multiply-subtract intrinsic function .

acc0 -= z00*x00 + z01*x01
acc1 -= z10*x10 + z11*x11
Returns
Returned accumulation vector (2 x cint80 lanes)
Parameters
accIncoming accumulation vector (2 x cint80 lanes)
xbuffInput buffer of 16 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v2cacc80 lmsc2 ( v2cacc80  acc,
v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex multiply-subtract intrinsic function using small X input buffer.

acc0 -= z00*x00 + z01*x01
acc1 -= z10*x10 + z11*x11
Returns
Returned accumulation vector (2 x cint80 lanes)
Parameters
accIncoming accumulation vector (2 x cint80 lanes)
xbuffInput buffer of 8 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v4cacc80 lmsc4 ( v4cacc80  acc,
v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-subtract intrinsic function .

acc0 -= z00*x00
acc1 -= z10*x10
acc2 -= z20*x20
acc3 -= z30*x30
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
accIncoming accumulation vector (4 x cint80 lanes)
xbuffInput buffer of 16 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v4cacc80 lmsc4 ( v4cacc80  acc,
v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-subtract intrinsic function using small X input buffer.

acc0 -= z00*x00
acc1 -= z10*x10
acc2 -= z20*x20
acc3 -= z30*x30
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
accIncoming accumulation vector (4 x cint80 lanes)
xbuffInput buffer of 8 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v2cacc80 lmul2 ( v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex multiply intrinsic function .

acc0 = z00*x00 + z01*x01
acc1 = z10*x10 + z11*x11
Returns
Returned accumulation vector (2 x cint80 lanes)
Parameters
xbuffInput buffer of 16 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v2cacc80 lmul2 ( v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex multiply intrinsic function using small X input buffer.

acc0 = z00*x00 + z01*x01
acc1 = z10*x10 + z11*x11
Returns
Returned accumulation vector (2 x cint80 lanes)
Parameters
xbuffInput buffer of 8 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v4cacc80 lmul4 ( v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply intrinsic function .

acc0 = z00*x00
acc1 = z10*x10
acc2 = z20*x20
acc3 = z30*x30
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
xbuffInput buffer of 16 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v4cacc80 lmul4 ( v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply intrinsic function using small X input buffer.

acc0 = z00*x00
acc1 = z10*x10
acc2 = z20*x20
acc3 = z30*x30
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
xbuffInput buffer of 8 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v2cacc80 lnegmul2 ( v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex multiply-negate intrinsic function .

acc0 = -( z00*x00 + z01*x01 )
acc1 = -( z10*x10 + z11*x11 )
Returns
Returned accumulation vector (2 x cint80 lanes)
Parameters
xbuffInput buffer of 16 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v2cacc80 lnegmul2 ( v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex multiply-negate intrinsic function using small X input buffer.

acc0 = -( z00*x00 + z01*x01 )
acc1 = -( z10*x10 + z11*x11 )
Returns
Returned accumulation vector (2 x cint80 lanes)
Parameters
xbuffInput buffer of 8 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v4cacc80 lnegmul4 ( v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-negate intrinsic function .

acc0 = -( z00*x00 )
acc1 = -( z10*x10 )
acc2 = -( z20*x20 )
acc3 = -( z30*x30 )
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
xbuffInput buffer of 16 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v4cacc80 lnegmul4 ( v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-negate intrinsic function using small X input buffer.

acc0 = -( z00*x00 )
acc1 = -( z10*x10 )
acc2 = -( z20*x20 )
acc3 = -( z30*x30 )
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
xbuffInput buffer of 8 elements of type cint32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.