AI Engine Intrinsics User Guide  (AIE) v(2024.1)
 All Data Structures Namespaces Functions Variables Typedefs Groups Pages
X and Z buffer conjugation

Overview

16 bit complex by 16 bit complex using X and Z buffer conjugation

Functions

v8cacc48 mac4_sym_uct_cc (v8cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply-accumulate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer .
 
v8cacc48 mac4_sym_uct_cc (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply-accumulate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer using small X input buffer.
 
v8cacc48 mac4_sym_uct_cc (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v16cint16 ybuff, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply-accumulate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x and y input buffers using small X input buffer.
 
v8cacc48 msc4_sym_uct_cc (v8cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply-subtract intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer .
 
v8cacc48 msc4_sym_uct_cc (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply-subtract intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer using small X input buffer.
 
v8cacc48 msc4_sym_uct_cc (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v16cint16 ybuff, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply-subtract intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x and y input buffers using small X input buffer.
 
v8cacc48 mul4_sym_uct_cc (v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer .
 
v8cacc48 mul4_sym_uct_cc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer using small X input buffer.
 
v8cacc48 mul4_sym_uct_cc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v16cint16 ybuff, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x and y input buffers using small X input buffer.
 
v8cacc48 negmul4_sym_uct_cc (v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply-negate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer .
 
v8cacc48 negmul4_sym_uct_cc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply-negate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer using small X input buffer.
 
v8cacc48 negmul4_sym_uct_cc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v16cint16 ybuff, int ystart, int uct_col, int uct_shift, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Complex symetric multiply-negate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x and y input buffers using small X input buffer.
 

Function Documentation

v8cacc48 mac4_sym_uct_cc ( v8cacc48  acc,
v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply-accumulate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer .

acc0 += cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01))
acc1 += cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11))
acc2 += cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21))
acc3 += cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31))
acc4 = y0uct_select << uct_shift
acc5 = y1uct_select << uct_shift
acc6 = y2uct_select << uct_shift
acc7 = y3uct_select << uct_shift
Returns
Returned accumulation vector (8 x cint48 lanes)
Parameters
accIncoming accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 mac4_sym_uct_cc ( v8cacc48  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply-accumulate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer using small X input buffer.

acc0 += cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01))
acc1 += cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11))
acc2 += cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21))
acc3 += cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31))
acc4 = y0uct_select << uct_shift
acc5 = y1uct_select << uct_shift
acc6 = y2uct_select << uct_shift
acc7 = y3uct_select << uct_shift
Returns
Returned accumulation vector (8 x cint48 lanes)
Parameters
accIncoming accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 mac4_sym_uct_cc ( v8cacc48  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16cint16  ybuff,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply-accumulate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x and y input buffers using small X input buffer.

acc0 += cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01))
acc1 += cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11))
acc2 += cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21))
acc3 += cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31))
acc4 = y0uct_select << uct_shift
acc5 = y1uct_select << uct_shift
acc6 = y2uct_select << uct_shift
acc7 = y3uct_select << uct_shift
Returns
Returned accumulation vector (8 x cint48 lanes)
Parameters
accIncoming accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 16 elements of type cint16
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 msc4_sym_uct_cc ( v8cacc48  acc,
v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply-subtract intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer .

acc0 -= cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01))
acc1 -= cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11))
acc2 -= cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21))
acc3 -= cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31))
acc4 = y0uct_select << uct_shift
acc5 = y1uct_select << uct_shift
acc6 = y2uct_select << uct_shift
acc7 = y3uct_select << uct_shift
Returns
Returned accumulation vector (8 x cint48 lanes)
Parameters
accIncoming accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 msc4_sym_uct_cc ( v8cacc48  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply-subtract intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer using small X input buffer.

acc0 -= cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01))
acc1 -= cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11))
acc2 -= cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21))
acc3 -= cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31))
acc4 = y0uct_select << uct_shift
acc5 = y1uct_select << uct_shift
acc6 = y2uct_select << uct_shift
acc7 = y3uct_select << uct_shift
Returns
Returned accumulation vector (8 x cint48 lanes)
Parameters
accIncoming accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 msc4_sym_uct_cc ( v8cacc48  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16cint16  ybuff,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply-subtract intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x and y input buffers using small X input buffer.

acc0 -= cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01))
acc1 -= cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11))
acc2 -= cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21))
acc3 -= cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31))
acc4 = y0uct_select << uct_shift
acc5 = y1uct_select << uct_shift
acc6 = y2uct_select << uct_shift
acc7 = y3uct_select << uct_shift
Returns
Returned accumulation vector (8 x cint48 lanes)
Parameters
accIncoming accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 16 elements of type cint16
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 mul4_sym_uct_cc ( v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer .

acc0 = cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01))
acc1 = cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11))
acc2 = cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21))
acc3 = cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31))
acc4 = y0uct_select << uct_shift
acc5 = y1uct_select << uct_shift
acc6 = y2uct_select << uct_shift
acc7 = y3uct_select << uct_shift
Returns
Returned accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 mul4_sym_uct_cc ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer using small X input buffer.

acc0 = cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01))
acc1 = cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11))
acc2 = cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21))
acc3 = cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31))
acc4 = y0uct_select << uct_shift
acc5 = y1uct_select << uct_shift
acc6 = y2uct_select << uct_shift
acc7 = y3uct_select << uct_shift
Returns
Returned accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 mul4_sym_uct_cc ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16cint16  ybuff,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x and y input buffers using small X input buffer.

acc0 = cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01))
acc1 = cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11))
acc2 = cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21))
acc3 = cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31))
acc4 = y0uct_select << uct_shift
acc5 = y1uct_select << uct_shift
acc6 = y2uct_select << uct_shift
acc7 = y3uct_select << uct_shift
Returns
Returned accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 16 elements of type cint16
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 negmul4_sym_uct_cc ( v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply-negate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer .

acc0 = -( cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01)) )
acc1 = -( cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11)) )
acc2 = -( cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21)) )
acc3 = -( cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31)) )
acc4 = y0uct_select << uct_shift )
acc5 = y1uct_select << uct_shift )
acc6 = y2uct_select << uct_shift )
acc7 = y3uct_select << uct_shift )
Returns
Returned accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 negmul4_sym_uct_cc ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply-negate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x input buffer using small X input buffer.

acc0 = -( cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01)) )
acc1 = -( cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11)) )
acc2 = -( cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21)) )
acc3 = -( cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31)) )
acc4 = y0uct_select << uct_shift )
acc5 = y1uct_select << uct_shift )
acc6 = y2uct_select << uct_shift )
acc7 = y3uct_select << uct_shift )
Returns
Returned accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.
v8cacc48 negmul4_sym_uct_cc ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16cint16  ybuff,
int  ystart,
int  uct_col,
int  uct_shift,
v8cint16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Complex symetric multiply-negate intrinsic function with unit center-tap optimization with x and z buffer conjugation with pre-add from x and y input buffers using small X input buffer.

acc0 = -( cnj(z00)*(cnj(x00) + cnj(y00)) + cnj(z01)*(cnj(x01) + cnj(y01)) )
acc1 = -( cnj(z10)*(cnj(x10) + cnj(y10)) + cnj(z11)*(cnj(x11) + cnj(y11)) )
acc2 = -( cnj(z20)*(cnj(x20) + cnj(y20)) + cnj(z21)*(cnj(x21) + cnj(y21)) )
acc3 = -( cnj(z30)*(cnj(x30) + cnj(y30)) + cnj(z31)*(cnj(x31) + cnj(y31)) )
acc4 = y0uct_select << uct_shift )
acc5 = y1uct_select << uct_shift )
acc6 = y2uct_select << uct_shift )
acc7 = y3uct_select << uct_shift )
Returns
Returned accumulation vector (8 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 both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 16 elements of type cint16
ystartStarting position offset applied to all lanes for input from Y buffer.
uct_colSelect 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_shiftUpshift value to the four upshifted lanes
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
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.