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

Overview

32 bit complex by 16 bit complex using X buffer conjugation

Functions

v4cacc48 mac4_conj_sym_cn (v4cacc48 acc, v16cint32 xbuff, int xstart, unsigned int xoffsets, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply-accumulate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer .
 
v4cacc48 mac4_conj_sym_cn (v4cacc48 acc, v8cint32 xbuff, int xstart, unsigned int xoffsets, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply-accumulate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.
 
v4cacc48 mac4_conj_sym_cn (v4cacc48 acc, v8cint32 xbuff, int xstart, unsigned int xoffsets, v8cint32 ybuff, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply-accumulate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.
 
v4cacc48 msc4_conj_sym_cn (v4cacc48 acc, v16cint32 xbuff, int xstart, unsigned int xoffsets, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply-subtract intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer .
 
v4cacc48 msc4_conj_sym_cn (v4cacc48 acc, v8cint32 xbuff, int xstart, unsigned int xoffsets, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply-subtract intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.
 
v4cacc48 msc4_conj_sym_cn (v4cacc48 acc, v8cint32 xbuff, int xstart, unsigned int xoffsets, v8cint32 ybuff, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply-subtract intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.
 
v4cacc48 mul4_conj_sym_cn (v16cint32 xbuff, int xstart, unsigned int xoffsets, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer .
 
v4cacc48 mul4_conj_sym_cn (v8cint32 xbuff, int xstart, unsigned int xoffsets, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.
 
v4cacc48 mul4_conj_sym_cn (v8cint32 xbuff, int xstart, unsigned int xoffsets, v8cint32 ybuff, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.
 
v4cacc48 negmul4_conj_sym_cn (v16cint32 xbuff, int xstart, unsigned int xoffsets, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply-negate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer .
 
v4cacc48 negmul4_conj_sym_cn (v8cint32 xbuff, int xstart, unsigned int xoffsets, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply-negate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.
 
v4cacc48 negmul4_conj_sym_cn (v8cint32 xbuff, int xstart, unsigned int xoffsets, v8cint32 ybuff, int ystart, v8cint16 zbuff, int zstart, unsigned int zoffsets)
 Complex symetric conjugate multiply-negate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.
 

Function Documentation

v4cacc48 mac4_conj_sym_cn ( v4cacc48  acc,
v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply-accumulate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer .

acc0 += (z00*cnj(x00) + cnj(z00)*cnj(y00))
acc1 += (z10*cnj(x10) + cnj(z10)*cnj(y10))
acc2 += (z20*cnj(x20) + cnj(z20)*cnj(y20))
acc3 += (z30*cnj(x30) + cnj(z30)*cnj(y30))
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
accIncoming accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v4cacc48  acc,
v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply-accumulate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.

acc0 += (z00*cnj(x00) + cnj(z00)*cnj(y00))
acc1 += (z10*cnj(x10) + cnj(z10)*cnj(y10))
acc2 += (z20*cnj(x20) + cnj(z20)*cnj(y20))
acc3 += (z30*cnj(x30) + cnj(z30)*cnj(y30))
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
accIncoming accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v4cacc48  acc,
v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8cint32  ybuff,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply-accumulate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.

acc0 += (z00*cnj(x00) + cnj(z00)*cnj(y00))
acc1 += (z10*cnj(x10) + cnj(z10)*cnj(y10))
acc2 += (z20*cnj(x20) + cnj(z20)*cnj(y20))
acc3 += (z30*cnj(x30) + cnj(z30)*cnj(y30))
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
accIncoming accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ybuffRight input buffer of 8 elements of type cint32
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v4cacc48  acc,
v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply-subtract intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer .

acc0 -= (z00*cnj(x00) + cnj(z00)*cnj(y00))
acc1 -= (z10*cnj(x10) + cnj(z10)*cnj(y10))
acc2 -= (z20*cnj(x20) + cnj(z20)*cnj(y20))
acc3 -= (z30*cnj(x30) + cnj(z30)*cnj(y30))
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
accIncoming accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v4cacc48  acc,
v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply-subtract intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.

acc0 -= (z00*cnj(x00) + cnj(z00)*cnj(y00))
acc1 -= (z10*cnj(x10) + cnj(z10)*cnj(y10))
acc2 -= (z20*cnj(x20) + cnj(z20)*cnj(y20))
acc3 -= (z30*cnj(x30) + cnj(z30)*cnj(y30))
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
accIncoming accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v4cacc48  acc,
v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8cint32  ybuff,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply-subtract intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.

acc0 -= (z00*cnj(x00) + cnj(z00)*cnj(y00))
acc1 -= (z10*cnj(x10) + cnj(z10)*cnj(y10))
acc2 -= (z20*cnj(x20) + cnj(z20)*cnj(y20))
acc3 -= (z30*cnj(x30) + cnj(z30)*cnj(y30))
Returns
Returned accumulation vector (4 x cint48 lanes)
Parameters
accIncoming accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ybuffRight input buffer of 8 elements of type cint32
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer .

acc0 = (z00*cnj(x00) + cnj(z00)*cnj(y00))
acc1 = (z10*cnj(x10) + cnj(z10)*cnj(y10))
acc2 = (z20*cnj(x20) + cnj(z20)*cnj(y20))
acc3 = (z30*cnj(x30) + cnj(z30)*cnj(y30))
Returns
Returned accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.

acc0 = (z00*cnj(x00) + cnj(z00)*cnj(y00))
acc1 = (z10*cnj(x10) + cnj(z10)*cnj(y10))
acc2 = (z20*cnj(x20) + cnj(z20)*cnj(y20))
acc3 = (z30*cnj(x30) + cnj(z30)*cnj(y30))
Returns
Returned accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8cint32  ybuff,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.

acc0 = (z00*cnj(x00) + cnj(z00)*cnj(y00))
acc1 = (z10*cnj(x10) + cnj(z10)*cnj(y10))
acc2 = (z20*cnj(x20) + cnj(z20)*cnj(y20))
acc3 = (z30*cnj(x30) + cnj(z30)*cnj(y30))
Returns
Returned accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ybuffRight input buffer of 8 elements of type cint32
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v16cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply-negate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer .

acc0 = -( (z00*cnj(x00) + cnj(z00)*cnj(y00)) )
acc1 = -( (z10*cnj(x10) + cnj(z10)*cnj(y10)) )
acc2 = -( (z20*cnj(x20) + cnj(z20)*cnj(y20)) )
acc3 = -( (z30*cnj(x30) + cnj(z30)*cnj(y30)) )
Returns
Returned accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply-negate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.

acc0 = -( (z00*cnj(x00) + cnj(z00)*cnj(y00)) )
acc1 = -( (z10*cnj(x10) + cnj(z10)*cnj(y10)) )
acc2 = -( (z20*cnj(x20) + cnj(z20)*cnj(y20)) )
acc3 = -( (z30*cnj(x30) + cnj(z30)*cnj(y30)) )
Returns
Returned accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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_conj_sym_cn ( v8cint32  xbuff,
int  xstart,
unsigned int  xoffsets,
v8cint32  ybuff,
int  ystart,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex symetric conjugate multiply-negate intrinsic function with x buffer conjugation after computing the selected lanes from the input buffer using small X input buffer.

acc0 = -( (z00*cnj(x00) + cnj(z00)*cnj(y00)) )
acc1 = -( (z10*cnj(x10) + cnj(z10)*cnj(y10)) )
acc2 = -( (z20*cnj(x20) + cnj(z20)*cnj(y20)) )
acc3 = -( (z30*cnj(x30) + cnj(z30)*cnj(y30)) )
Returns
Returned accumulation vector (4 x cint48 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 both x and y buffers. LSB apply to first lane
ybuffRight input buffer of 8 elements of type cint32
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type cint16
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
  • The previous pseudocode is just a simplified representation of how the operation works, when computed internally it will be done using pre-adding
  • 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.