AI Engine Intrinsics  (AIE) r2p21
 All Data Structures Namespaces Functions Variables Typedefs Groups Pages

Overview

16 bit complex by 32 bit complex using X buffer conjugation

Functions

v8cacc48 mac4_antisym_uct_cn (v8cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply-accumulate intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer .
 
v8cacc48 mac4_antisym_uct_cn (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply-accumulate intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer using small X input buffer.
 
v8cacc48 mac4_antisym_uct_cn (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, v16cint16 ybuff, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply-accumulate intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x and y input buffers using small X input buffer.
 
v8cacc48 msc4_antisym_uct_cn (v8cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply-subtract intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer .
 
v8cacc48 msc4_antisym_uct_cn (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply-subtract intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer using small X input buffer.
 
v8cacc48 msc4_antisym_uct_cn (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, v16cint16 ybuff, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply-subtract intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x and y input buffers using small X input buffer.
 
v8cacc48 mul4_antisym_uct_cn (v32cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer .
 
v8cacc48 mul4_antisym_uct_cn (v16cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer using small X input buffer.
 
v8cacc48 mul4_antisym_uct_cn (v16cint16 xbuff, int xstart, unsigned int xoffsets, v16cint16 ybuff, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x and y input buffers using small X input buffer.
 
v8cacc48 negmul4_antisym_uct_cn (v32cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply-negate intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer .
 
v8cacc48 negmul4_antisym_uct_cn (v16cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply-negate intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer using small X input buffer.
 
v8cacc48 negmul4_antisym_uct_cn (v16cint16 xbuff, int xstart, unsigned int xoffsets, v16cint16 ybuff, int ystart, int uct_shift, v4cint32 zbuff, int zstart, unsigned int zoffsets)
 Complex anti-symmetric multiply-negate intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x and y input buffers using small X input buffer.
 

Function Documentation

v8cacc48 mac4_antisym_uct_cn ( v8cacc48  acc,
v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex anti-symmetric multiply-accumulate intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer .

acc0 += z00*(cnj(x00) - cnj(y00))
acc1 += z10*(cnj(x10) - cnj(y10))
acc2 += z20*(cnj(x20) - cnj(y20))
acc3 += z30*(cnj(x30) - cnj(y30))
acc4 = y00 << uct_shift
acc5 = y10 << uct_shift
acc6 = y20 << uct_shift
acc7 = y30 << uct_shift

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
acc v8cacc48 Incoming accumulation vector (8 x cint48 lanes)
xbuff v32cint16Input buffer of 32 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 mac4_antisym_uct_cn ( v8cacc48  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex anti-symmetric multiply-accumulate intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer using small X input buffer.

acc0 += z00*(cnj(x00) - cnj(y00))
acc1 += z10*(cnj(x10) - cnj(y10))
acc2 += z20*(cnj(x20) - cnj(y20))
acc3 += z30*(cnj(x30) - cnj(y30))
acc4 = y00 << uct_shift
acc5 = y10 << uct_shift
acc6 = y20 << uct_shift
acc7 = y30 << uct_shift

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
acc v8cacc48 Incoming accumulation vector (8 x cint48 lanes)
xbuff v16cint16Input buffer of 16 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 mac4_antisym_uct_cn ( v8cacc48  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v16cint16  ybuff,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

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

acc0 += z00*(cnj(x00) - cnj(y00))
acc1 += z10*(cnj(x10) - cnj(y10))
acc2 += z20*(cnj(x20) - cnj(y20))
acc3 += z30*(cnj(x30) - cnj(y30))
acc4 = y00 << uct_shift
acc5 = y10 << uct_shift
acc6 = y20 << uct_shift
acc7 = y30 << uct_shift

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
acc v8cacc48 Incoming accumulation vector (8 x cint48 lanes)
xbuff v16cint16Input buffer of 16 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ybuff v16cint16Right input buffer of 16 elements of type cint16
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 msc4_antisym_uct_cn ( v8cacc48  acc,
v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex anti-symmetric multiply-subtract intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer .

acc0 -= z00*(cnj(x00) - cnj(y00))
acc1 -= z10*(cnj(x10) - cnj(y10))
acc2 -= z20*(cnj(x20) - cnj(y20))
acc3 -= z30*(cnj(x30) - cnj(y30))
acc4 = y00 << uct_shift
acc5 = y10 << uct_shift
acc6 = y20 << uct_shift
acc7 = y30 << uct_shift

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
acc v8cacc48 Incoming accumulation vector (8 x cint48 lanes)
xbuff v32cint16Input buffer of 32 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 msc4_antisym_uct_cn ( v8cacc48  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex anti-symmetric multiply-subtract intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer using small X input buffer.

acc0 -= z00*(cnj(x00) - cnj(y00))
acc1 -= z10*(cnj(x10) - cnj(y10))
acc2 -= z20*(cnj(x20) - cnj(y20))
acc3 -= z30*(cnj(x30) - cnj(y30))
acc4 = y00 << uct_shift
acc5 = y10 << uct_shift
acc6 = y20 << uct_shift
acc7 = y30 << uct_shift

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
acc v8cacc48 Incoming accumulation vector (8 x cint48 lanes)
xbuff v16cint16Input buffer of 16 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 msc4_antisym_uct_cn ( v8cacc48  acc,
v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v16cint16  ybuff,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

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

acc0 -= z00*(cnj(x00) - cnj(y00))
acc1 -= z10*(cnj(x10) - cnj(y10))
acc2 -= z20*(cnj(x20) - cnj(y20))
acc3 -= z30*(cnj(x30) - cnj(y30))
acc4 = y00 << uct_shift
acc5 = y10 << uct_shift
acc6 = y20 << uct_shift
acc7 = y30 << uct_shift

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
acc v8cacc48 Incoming accumulation vector (8 x cint48 lanes)
xbuff v16cint16Input buffer of 16 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ybuff v16cint16Right input buffer of 16 elements of type cint16
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 mul4_antisym_uct_cn ( v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex anti-symmetric multiply intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer .

acc0 = z00*(cnj(x00) - cnj(y00))
acc1 = z10*(cnj(x10) - cnj(y10))
acc2 = z20*(cnj(x20) - cnj(y20))
acc3 = z30*(cnj(x30) - cnj(y30))
acc4 = y00 << uct_shift
acc5 = y10 << uct_shift
acc6 = y20 << uct_shift
acc7 = y30 << uct_shift

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
xbuff v32cint16Input buffer of 32 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 mul4_antisym_uct_cn ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex anti-symmetric multiply intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer using small X input buffer.

acc0 = z00*(cnj(x00) - cnj(y00))
acc1 = z10*(cnj(x10) - cnj(y10))
acc2 = z20*(cnj(x20) - cnj(y20))
acc3 = z30*(cnj(x30) - cnj(y30))
acc4 = y00 << uct_shift
acc5 = y10 << uct_shift
acc6 = y20 << uct_shift
acc7 = y30 << uct_shift

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
xbuff v16cint16Input buffer of 16 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 mul4_antisym_uct_cn ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v16cint16  ybuff,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex anti-symmetric multiply intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x and y input buffers using small X input buffer.

acc0 = z00*(cnj(x00) - cnj(y00))
acc1 = z10*(cnj(x10) - cnj(y10))
acc2 = z20*(cnj(x20) - cnj(y20))
acc3 = z30*(cnj(x30) - cnj(y30))
acc4 = y00 << uct_shift
acc5 = y10 << uct_shift
acc6 = y20 << uct_shift
acc7 = y30 << uct_shift

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
xbuff v16cint16Input buffer of 16 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ybuff v16cint16Right input buffer of 16 elements of type cint16
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 negmul4_antisym_uct_cn ( v32cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex anti-symmetric multiply-negate intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer .

acc0 = -( z00*(cnj(x00) - cnj(y00)) )
acc1 = -( z10*(cnj(x10) - cnj(y10)) )
acc2 = -( z20*(cnj(x20) - cnj(y20)) )
acc3 = -( z30*(cnj(x30) - cnj(y30)) )
acc4 = y00 << uct_shift )
acc5 = y10 << uct_shift )
acc6 = y20 << uct_shift )
acc7 = y30 << uct_shift )

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
xbuff v32cint16Input buffer of 32 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 negmul4_antisym_uct_cn ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

Complex anti-symmetric multiply-negate intrinsic function with unit center-tap optimization with x buffer conjugation with pre-sub from x input buffer using small X input buffer.

acc0 = -( z00*(cnj(x00) - cnj(y00)) )
acc1 = -( z10*(cnj(x10) - cnj(y10)) )
acc2 = -( z20*(cnj(x20) - cnj(y20)) )
acc3 = -( z30*(cnj(x30) - cnj(y30)) )
acc4 = y00 << uct_shift )
acc5 = y10 << uct_shift )
acc6 = y20 << uct_shift )
acc7 = y30 << uct_shift )

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
xbuff v16cint16Input buffer of 16 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.
v8cacc48 negmul4_antisym_uct_cn ( v16cint16  xbuff,
int  xstart,
unsigned int  xoffsets,
v16cint16  ybuff,
int  ystart,
int  uct_shift,
v4cint32  zbuff,
int  zstart,
unsigned int  zoffsets 
)

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

acc0 = -( z00*(cnj(x00) - cnj(y00)) )
acc1 = -( z10*(cnj(x10) - cnj(y10)) )
acc2 = -( z20*(cnj(x20) - cnj(y20)) )
acc3 = -( z30*(cnj(x30) - cnj(y30)) )
acc4 = y00 << uct_shift )
acc5 = y10 << uct_shift )
acc6 = y20 << uct_shift )
acc7 = y30 << uct_shift )

Parameters

Input/OutputType Comments
return v8cacc48 Returned accumulation vector (8 x cint48 lanes)
xbuff v16cint16Input buffer of 16 elements of type cint16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
ybuff v16cint16Right input buffer of 16 elements of type cint16
ystart int Starting position offset applied to all lanes for input from Y buffer.
uct_shift int Upshift value to the four upshifted lanes
zbuff v4cint32Input buffer of 4 elements of type cint32
zstart int Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsetsunsigned int 4b 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.