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

Overview

16 bit complex by 32 bit complex using Z buffer conjugation

Functions

v4cacc80 lmac4_nc (v4cacc80 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-accumulate intrinsic function with z buffer conjugation .
 
v4cacc80 lmac4_nc (v4cacc80 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-accumulate intrinsic function with z buffer conjugation using small X input buffer.
 
v4cacc80 lmsc4_nc (v4cacc80 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-subtract intrinsic function with z buffer conjugation .
 
v4cacc80 lmsc4_nc (v4cacc80 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-subtract intrinsic function with z buffer conjugation using small X input buffer.
 
v4cacc80 lmul4_nc (v32cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply intrinsic function with z buffer conjugation .
 
v4cacc80 lmul4_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply intrinsic function with z buffer conjugation using small X input buffer.
 
v4cacc80 lnegmul4_nc (v32cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-negate intrinsic function with z buffer conjugation .
 
v4cacc80 lnegmul4_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-negate intrinsic function with z buffer conjugation using small X input buffer.
 
v4cacc48 mac4_nc (v4cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-accumulate intrinsic function with z buffer conjugation .
 
v4cacc48 mac4_nc (v4cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-accumulate intrinsic function with z buffer conjugation using small X input buffer.
 
v4cacc48 msc4_nc (v4cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-subtract intrinsic function with z buffer conjugation .
 
v4cacc48 msc4_nc (v4cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-subtract intrinsic function with z buffer conjugation using small X input buffer.
 
v4cacc48 mul4_nc (v32cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply intrinsic function with z buffer conjugation .
 
v4cacc48 mul4_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply intrinsic function with z buffer conjugation using small X input buffer.
 
v4cacc48 negmul4_nc (v32cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-negate intrinsic function with z buffer conjugation .
 
v4cacc48 negmul4_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex multiply-negate intrinsic function with z buffer conjugation using small X input buffer.
 

Function Documentation

v4cacc80 lmac4_nc ( v4cacc80  acc,
v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-accumulate intrinsic function with z buffer conjugation .

acc0 += cnj(z00)*x00
acc1 += cnj(z10)*x10
acc2 += cnj(z20)*x20
acc3 += cnj(z30)*x30
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
accIncoming accumulation vector (4 x cint80 lanes)
xbuffInput buffer of 32 elements of type cint16
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 4 elements of type cint32
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_nc ( v4cacc80  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

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

acc0 += cnj(z00)*x00
acc1 += cnj(z10)*x10
acc2 += cnj(z20)*x20
acc3 += cnj(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 cint16
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 4 elements of type cint32
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_nc ( v4cacc80  acc,
v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-subtract intrinsic function with z buffer conjugation .

acc0 -= cnj(z00)*x00
acc1 -= cnj(z10)*x10
acc2 -= cnj(z20)*x20
acc3 -= cnj(z30)*x30
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
accIncoming accumulation vector (4 x cint80 lanes)
xbuffInput buffer of 32 elements of type cint16
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 4 elements of type cint32
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_nc ( v4cacc80  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

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

acc0 -= cnj(z00)*x00
acc1 -= cnj(z10)*x10
acc2 -= cnj(z20)*x20
acc3 -= cnj(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 cint16
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 4 elements of type cint32
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_nc ( v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply intrinsic function with z buffer conjugation .

acc0 = cnj(z00)*x00
acc1 = cnj(z10)*x10
acc2 = cnj(z20)*x20
acc3 = cnj(z30)*x30
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
xbuffInput buffer of 32 elements of type cint16
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 4 elements of type cint32
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_nc ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply intrinsic function with z buffer conjugation using small X input buffer.

acc0 = cnj(z00)*x00
acc1 = cnj(z10)*x10
acc2 = cnj(z20)*x20
acc3 = cnj(z30)*x30
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
xbuffInput buffer of 16 elements of type cint16
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 4 elements of type cint32
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_nc ( v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-negate intrinsic function with z buffer conjugation .

acc0 = -( cnj(z00)*x00 )
acc1 = -( cnj(z10)*x10 )
acc2 = -( cnj(z20)*x20 )
acc3 = -( cnj(z30)*x30 )
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
xbuffInput buffer of 32 elements of type cint16
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 4 elements of type cint32
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_nc ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

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

acc0 = -( cnj(z00)*x00 )
acc1 = -( cnj(z10)*x10 )
acc2 = -( cnj(z20)*x20 )
acc3 = -( cnj(z30)*x30 )
Returns
Returned accumulation vector (4 x cint80 lanes)
Parameters
xbuffInput buffer of 16 elements of type cint16
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 4 elements of type cint32
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.
v4cacc48 mac4_nc ( v4cacc48  acc,
v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-accumulate intrinsic function with z buffer conjugation .

acc0 += cnj(z00)*x00
acc1 += cnj(z10)*x10
acc2 += cnj(z20)*x20
acc3 += cnj(z30)*x30
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
accIncoming accumulation vector (4 x cint48 lanes)
xbuffInput buffer of 32 elements of type cint16
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 4 elements of type cint32
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.
v4cacc48 mac4_nc ( v4cacc48  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

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

acc0 += cnj(z00)*x00
acc1 += cnj(z10)*x10
acc2 += cnj(z20)*x20
acc3 += cnj(z30)*x30
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
accIncoming accumulation vector (4 x cint48 lanes)
xbuffInput buffer of 16 elements of type cint16
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 4 elements of type cint32
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.
v4cacc48 msc4_nc ( v4cacc48  acc,
v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-subtract intrinsic function with z buffer conjugation .

acc0 -= cnj(z00)*x00
acc1 -= cnj(z10)*x10
acc2 -= cnj(z20)*x20
acc3 -= cnj(z30)*x30
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
accIncoming accumulation vector (4 x cint48 lanes)
xbuffInput buffer of 32 elements of type cint16
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 4 elements of type cint32
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.
v4cacc48 msc4_nc ( v4cacc48  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

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

acc0 -= cnj(z00)*x00
acc1 -= cnj(z10)*x10
acc2 -= cnj(z20)*x20
acc3 -= cnj(z30)*x30
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
accIncoming accumulation vector (4 x cint48 lanes)
xbuffInput buffer of 16 elements of type cint16
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 4 elements of type cint32
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.
v4cacc48 mul4_nc ( v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply intrinsic function with z buffer conjugation .

acc0 = cnj(z00)*x00
acc1 = cnj(z10)*x10
acc2 = cnj(z20)*x20
acc3 = cnj(z30)*x30
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
xbuffInput buffer of 32 elements of type cint16
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 4 elements of type cint32
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.
v4cacc48 mul4_nc ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply intrinsic function with z buffer conjugation using small X input buffer.

acc0 = cnj(z00)*x00
acc1 = cnj(z10)*x10
acc2 = cnj(z20)*x20
acc3 = cnj(z30)*x30
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
xbuffInput buffer of 16 elements of type cint16
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 4 elements of type cint32
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.
v4cacc48 negmul4_nc ( v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex multiply-negate intrinsic function with z buffer conjugation .

acc0 = -( cnj(z00)*x00 )
acc1 = -( cnj(z10)*x10 )
acc2 = -( cnj(z20)*x20 )
acc3 = -( cnj(z30)*x30 )
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
xbuffInput buffer of 32 elements of type cint16
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 4 elements of type cint32
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.
v4cacc48 negmul4_nc ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

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

acc0 = -( cnj(z00)*x00 )
acc1 = -( cnj(z10)*x10 )
acc2 = -( cnj(z20)*x20 )
acc3 = -( cnj(z30)*x30 )
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
xbuffInput buffer of 16 elements of type cint16
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 4 elements of type cint32
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.