AI Engine Intrinsics  (AIE) r2p21
 All Data Structures Namespaces Functions Variables Typedefs Groups Pages
16 bit Real x 32 bit Real

Overview

Vector MAC intrinsics with pre-adding with 16 bit real by 32 bit real

Functions

v8acc80 lmac8_sym (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-accumulate intrinsic function with pre-add from x input buffer .
 
v8acc80 lmac8_sym (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-accumulate intrinsic function with pre-add from x input buffer using small X input buffer.
 
v8acc80 lmac8_sym (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-accumulate intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v8acc80 lmsc8_sym (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-subtract intrinsic function with pre-add from x input buffer .
 
v8acc80 lmsc8_sym (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-subtract intrinsic function with pre-add from x input buffer using small X input buffer.
 
v8acc80 lmsc8_sym (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-subtract intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v8acc80 lmul8_sym (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply intrinsic function with pre-add from x input buffer .
 
v8acc80 lmul8_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply intrinsic function with pre-add from x input buffer using small X input buffer.
 
v8acc80 lmul8_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v8acc80 lnegmul8_sym (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-negate intrinsic function with pre-add from x input buffer .
 
v8acc80 lnegmul8_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-negate intrinsic function with pre-add from x input buffer using small X input buffer.
 
v8acc80 lnegmul8_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-negate intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v16acc48 mac16_sym (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply-accumulate intrinsic function with pre-add from x input buffer .
 
v16acc48 mac16_sym (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply-accumulate intrinsic function with pre-add from x input buffer using small X input buffer.
 
v16acc48 mac16_sym (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply-accumulate intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v8acc48 mac8_sym (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-accumulate intrinsic function with pre-add from x input buffer .
 
v8acc48 mac8_sym (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-accumulate intrinsic function with pre-add from x input buffer using small X input buffer.
 
v8acc48 mac8_sym (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-accumulate intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v16acc48 msc16_sym (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply-subtract intrinsic function with pre-add from x input buffer .
 
v16acc48 msc16_sym (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply-subtract intrinsic function with pre-add from x input buffer using small X input buffer.
 
v16acc48 msc16_sym (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply-subtract intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v8acc48 msc8_sym (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-subtract intrinsic function with pre-add from x input buffer .
 
v8acc48 msc8_sym (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-subtract intrinsic function with pre-add from x input buffer using small X input buffer.
 
v8acc48 msc8_sym (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-subtract intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v16acc48 mul16_sym (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply intrinsic function with pre-add from x input buffer .
 
v16acc48 mul16_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply intrinsic function with pre-add from x input buffer using small X input buffer.
 
v16acc48 mul16_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v8acc48 mul8_sym (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply intrinsic function with pre-add from x input buffer .
 
v8acc48 mul8_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply intrinsic function with pre-add from x input buffer using small X input buffer.
 
v8acc48 mul8_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v16acc48 negmul16_sym (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply-negate intrinsic function with pre-add from x input buffer .
 
v16acc48 negmul16_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply-negate intrinsic function with pre-add from x input buffer using small X input buffer.
 
v16acc48 negmul16_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Symetric multiply-negate intrinsic function with pre-add from x and y input buffers using small X input buffer.
 
v8acc48 negmul8_sym (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-negate intrinsic function with pre-add from x input buffer .
 
v8acc48 negmul8_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-negate intrinsic function with pre-add from x input buffer using small X input buffer.
 
v8acc48 negmul8_sym (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Symetric multiply-negate intrinsic function with pre-add from x and y input buffers using small X input buffer.
 

Function Documentation

v8acc80 lmac8_sym ( v8acc80  acc,
v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-accumulate intrinsic function with pre-add from x input buffer .

acc0 += z00*(x00 + y00) + z01*(x01 + y01)
acc1 += z10*(x10 + y10) + z11*(x11 + y11)
acc2 += z20*(x20 + y20) + z21*(x21 + y21)
acc3 += z30*(x30 + y30) + z31*(x31 + y31)
acc4 += z40*(x40 + y40) + z41*(x41 + y41)
acc5 += z50*(x50 + y50) + z51*(x51 + y51)
acc6 += z60*(x60 + y60) + z61*(x61 + y61)
acc7 += z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
acc v8acc80 Incoming accumulation vector (8 x int80 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lmac8_sym ( v8acc80  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-accumulate intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 += z00*(x00 + y00) + z01*(x01 + y01)
acc1 += z10*(x10 + y10) + z11*(x11 + y11)
acc2 += z20*(x20 + y20) + z21*(x21 + y21)
acc3 += z30*(x30 + y30) + z31*(x31 + y31)
acc4 += z40*(x40 + y40) + z41*(x41 + y41)
acc5 += z50*(x50 + y50) + z51*(x51 + y51)
acc6 += z60*(x60 + y60) + z61*(x61 + y61)
acc7 += z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
acc v8acc80 Incoming accumulation vector (8 x int80 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lmac8_sym ( v8acc80  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-accumulate intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 += z00*(x00 + y00) + z01*(x01 + y01)
acc1 += z10*(x10 + y10) + z11*(x11 + y11)
acc2 += z20*(x20 + y20) + z21*(x21 + y21)
acc3 += z30*(x30 + y30) + z31*(x31 + y31)
acc4 += z40*(x40 + y40) + z41*(x41 + y41)
acc5 += z50*(x50 + y50) + z51*(x51 + y51)
acc6 += z60*(x60 + y60) + z61*(x61 + y61)
acc7 += z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
acc v8acc80 Incoming accumulation vector (8 x int80 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lmsc8_sym ( v8acc80  acc,
v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-subtract intrinsic function with pre-add from x input buffer .

acc0 -= z00*(x00 + y00) + z01*(x01 + y01)
acc1 -= z10*(x10 + y10) + z11*(x11 + y11)
acc2 -= z20*(x20 + y20) + z21*(x21 + y21)
acc3 -= z30*(x30 + y30) + z31*(x31 + y31)
acc4 -= z40*(x40 + y40) + z41*(x41 + y41)
acc5 -= z50*(x50 + y50) + z51*(x51 + y51)
acc6 -= z60*(x60 + y60) + z61*(x61 + y61)
acc7 -= z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
acc v8acc80 Incoming accumulation vector (8 x int80 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lmsc8_sym ( v8acc80  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-subtract intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 -= z00*(x00 + y00) + z01*(x01 + y01)
acc1 -= z10*(x10 + y10) + z11*(x11 + y11)
acc2 -= z20*(x20 + y20) + z21*(x21 + y21)
acc3 -= z30*(x30 + y30) + z31*(x31 + y31)
acc4 -= z40*(x40 + y40) + z41*(x41 + y41)
acc5 -= z50*(x50 + y50) + z51*(x51 + y51)
acc6 -= z60*(x60 + y60) + z61*(x61 + y61)
acc7 -= z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
acc v8acc80 Incoming accumulation vector (8 x int80 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lmsc8_sym ( v8acc80  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-subtract intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 -= z00*(x00 + y00) + z01*(x01 + y01)
acc1 -= z10*(x10 + y10) + z11*(x11 + y11)
acc2 -= z20*(x20 + y20) + z21*(x21 + y21)
acc3 -= z30*(x30 + y30) + z31*(x31 + y31)
acc4 -= z40*(x40 + y40) + z41*(x41 + y41)
acc5 -= z50*(x50 + y50) + z51*(x51 + y51)
acc6 -= z60*(x60 + y60) + z61*(x61 + y61)
acc7 -= z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
acc v8acc80 Incoming accumulation vector (8 x int80 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lmul8_sym ( v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply intrinsic function with pre-add from x input buffer .

acc0 = z00*(x00 + y00) + z01*(x01 + y01)
acc1 = z10*(x10 + y10) + z11*(x11 + y11)
acc2 = z20*(x20 + y20) + z21*(x21 + y21)
acc3 = z30*(x30 + y30) + z31*(x31 + y31)
acc4 = z40*(x40 + y40) + z41*(x41 + y41)
acc5 = z50*(x50 + y50) + z51*(x51 + y51)
acc6 = z60*(x60 + y60) + z61*(x61 + y61)
acc7 = z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lmul8_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 = z00*(x00 + y00) + z01*(x01 + y01)
acc1 = z10*(x10 + y10) + z11*(x11 + y11)
acc2 = z20*(x20 + y20) + z21*(x21 + y21)
acc3 = z30*(x30 + y30) + z31*(x31 + y31)
acc4 = z40*(x40 + y40) + z41*(x41 + y41)
acc5 = z50*(x50 + y50) + z51*(x51 + y51)
acc6 = z60*(x60 + y60) + z61*(x61 + y61)
acc7 = z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lmul8_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 = z00*(x00 + y00) + z01*(x01 + y01)
acc1 = z10*(x10 + y10) + z11*(x11 + y11)
acc2 = z20*(x20 + y20) + z21*(x21 + y21)
acc3 = z30*(x30 + y30) + z31*(x31 + y31)
acc4 = z40*(x40 + y40) + z41*(x41 + y41)
acc5 = z50*(x50 + y50) + z51*(x51 + y51)
acc6 = z60*(x60 + y60) + z61*(x61 + y61)
acc7 = z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lnegmul8_sym ( v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-negate intrinsic function with pre-add from x input buffer .

acc0 = -( z00*(x00 + y00) + z01*(x01 + y01) )
acc1 = -( z10*(x10 + y10) + z11*(x11 + y11) )
acc2 = -( z20*(x20 + y20) + z21*(x21 + y21) )
acc3 = -( z30*(x30 + y30) + z31*(x31 + y31) )
acc4 = -( z40*(x40 + y40) + z41*(x41 + y41) )
acc5 = -( z50*(x50 + y50) + z51*(x51 + y51) )
acc6 = -( z60*(x60 + y60) + z61*(x61 + y61) )
acc7 = -( z70*(x70 + y70) + z71*(x71 + y71) )

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lnegmul8_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-negate intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 = -( z00*(x00 + y00) + z01*(x01 + y01) )
acc1 = -( z10*(x10 + y10) + z11*(x11 + y11) )
acc2 = -( z20*(x20 + y20) + z21*(x21 + y21) )
acc3 = -( z30*(x30 + y30) + z31*(x31 + y31) )
acc4 = -( z40*(x40 + y40) + z41*(x41 + y41) )
acc5 = -( z50*(x50 + y50) + z51*(x51 + y51) )
acc6 = -( z60*(x60 + y60) + z61*(x61 + y61) )
acc7 = -( z70*(x70 + y70) + z71*(x71 + y71) )

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc80 lnegmul8_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-negate intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 = -( z00*(x00 + y00) + z01*(x01 + y01) )
acc1 = -( z10*(x10 + y10) + z11*(x11 + y11) )
acc2 = -( z20*(x20 + y20) + z21*(x21 + y21) )
acc3 = -( z30*(x30 + y30) + z31*(x31 + y31) )
acc4 = -( z40*(x40 + y40) + z41*(x41 + y41) )
acc5 = -( z50*(x50 + y50) + z51*(x51 + y51) )
acc6 = -( z60*(x60 + y60) + z61*(x61 + y61) )
acc7 = -( z70*(x70 + y70) + z71*(x71 + y71) )

Parameters

Input/OutputType Comments
return v8acc80 Returned accumulation vector (8 x int80 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v16acc48 mac16_sym ( v16acc48  acc,
v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply-accumulate intrinsic function with pre-add from x input buffer .

acc0 += z00*(x00 + y00)
acc1 += z10*(x10 + y10)
acc2 += z20*(x20 + y20)
acc3 += z30*(x30 + y30)
acc4 += z40*(x40 + y40)
acc5 += z50*(x50 + y50)
acc6 += z60*(x60 + y60)
acc7 += z70*(x70 + y70)
acc8 += z80*(x80 + y80)
acc9 += z90*(x90 + y90)
acc10 += z100*(x100 + y100)
acc11 += z110*(x110 + y110)
acc12 += z120*(x120 + y120)
acc13 += z130*(x130 + y130)
acc14 += z140*(x140 + y140)
acc15 += z150*(x150 + y150)

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
acc v16acc48 Incoming accumulation vector (16 x int48 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v16acc48 mac16_sym ( v16acc48  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply-accumulate intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 += z00*(x00 + y00)
acc1 += z10*(x10 + y10)
acc2 += z20*(x20 + y20)
acc3 += z30*(x30 + y30)
acc4 += z40*(x40 + y40)
acc5 += z50*(x50 + y50)
acc6 += z60*(x60 + y60)
acc7 += z70*(x70 + y70)
acc8 += z80*(x80 + y80)
acc9 += z90*(x90 + y90)
acc10 += z100*(x100 + y100)
acc11 += z110*(x110 + y110)
acc12 += z120*(x120 + y120)
acc13 += z130*(x130 + y130)
acc14 += z140*(x140 + y140)
acc15 += z150*(x150 + y150)

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
acc v16acc48 Incoming accumulation vector (16 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v16acc48 mac16_sym ( v16acc48  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply-accumulate intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 += z00*(x00 + y00)
acc1 += z10*(x10 + y10)
acc2 += z20*(x20 + y20)
acc3 += z30*(x30 + y30)
acc4 += z40*(x40 + y40)
acc5 += z50*(x50 + y50)
acc6 += z60*(x60 + y60)
acc7 += z70*(x70 + y70)
acc8 += z80*(x80 + y80)
acc9 += z90*(x90 + y90)
acc10 += z100*(x100 + y100)
acc11 += z110*(x110 + y110)
acc12 += z120*(x120 + y120)
acc13 += z130*(x130 + y130)
acc14 += z140*(x140 + y140)
acc15 += z150*(x150 + y150)

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
acc v16acc48 Incoming accumulation vector (16 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v8acc48 mac8_sym ( v8acc48  acc,
v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-accumulate intrinsic function with pre-add from x input buffer .

acc0 += z00*(x00 + y00) + z01*(x01 + y01)
acc1 += z10*(x10 + y10) + z11*(x11 + y11)
acc2 += z20*(x20 + y20) + z21*(x21 + y21)
acc3 += z30*(x30 + y30) + z31*(x31 + y31)
acc4 += z40*(x40 + y40) + z41*(x41 + y41)
acc5 += z50*(x50 + y50) + z51*(x51 + y51)
acc6 += z60*(x60 + y60) + z61*(x61 + y61)
acc7 += z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
acc v8acc48 Incoming accumulation vector (8 x int48 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc48 mac8_sym ( v8acc48  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-accumulate intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 += z00*(x00 + y00) + z01*(x01 + y01)
acc1 += z10*(x10 + y10) + z11*(x11 + y11)
acc2 += z20*(x20 + y20) + z21*(x21 + y21)
acc3 += z30*(x30 + y30) + z31*(x31 + y31)
acc4 += z40*(x40 + y40) + z41*(x41 + y41)
acc5 += z50*(x50 + y50) + z51*(x51 + y51)
acc6 += z60*(x60 + y60) + z61*(x61 + y61)
acc7 += z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
acc v8acc48 Incoming accumulation vector (8 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc48 mac8_sym ( v8acc48  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-accumulate intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 += z00*(x00 + y00) + z01*(x01 + y01)
acc1 += z10*(x10 + y10) + z11*(x11 + y11)
acc2 += z20*(x20 + y20) + z21*(x21 + y21)
acc3 += z30*(x30 + y30) + z31*(x31 + y31)
acc4 += z40*(x40 + y40) + z41*(x41 + y41)
acc5 += z50*(x50 + y50) + z51*(x51 + y51)
acc6 += z60*(x60 + y60) + z61*(x61 + y61)
acc7 += z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
acc v8acc48 Incoming accumulation vector (8 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v16acc48 msc16_sym ( v16acc48  acc,
v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply-subtract intrinsic function with pre-add from x input buffer .

acc0 -= z00*(x00 + y00)
acc1 -= z10*(x10 + y10)
acc2 -= z20*(x20 + y20)
acc3 -= z30*(x30 + y30)
acc4 -= z40*(x40 + y40)
acc5 -= z50*(x50 + y50)
acc6 -= z60*(x60 + y60)
acc7 -= z70*(x70 + y70)
acc8 -= z80*(x80 + y80)
acc9 -= z90*(x90 + y90)
acc10 -= z100*(x100 + y100)
acc11 -= z110*(x110 + y110)
acc12 -= z120*(x120 + y120)
acc13 -= z130*(x130 + y130)
acc14 -= z140*(x140 + y140)
acc15 -= z150*(x150 + y150)

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
acc v16acc48 Incoming accumulation vector (16 x int48 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v16acc48 msc16_sym ( v16acc48  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply-subtract intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 -= z00*(x00 + y00)
acc1 -= z10*(x10 + y10)
acc2 -= z20*(x20 + y20)
acc3 -= z30*(x30 + y30)
acc4 -= z40*(x40 + y40)
acc5 -= z50*(x50 + y50)
acc6 -= z60*(x60 + y60)
acc7 -= z70*(x70 + y70)
acc8 -= z80*(x80 + y80)
acc9 -= z90*(x90 + y90)
acc10 -= z100*(x100 + y100)
acc11 -= z110*(x110 + y110)
acc12 -= z120*(x120 + y120)
acc13 -= z130*(x130 + y130)
acc14 -= z140*(x140 + y140)
acc15 -= z150*(x150 + y150)

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
acc v16acc48 Incoming accumulation vector (16 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v16acc48 msc16_sym ( v16acc48  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply-subtract intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 -= z00*(x00 + y00)
acc1 -= z10*(x10 + y10)
acc2 -= z20*(x20 + y20)
acc3 -= z30*(x30 + y30)
acc4 -= z40*(x40 + y40)
acc5 -= z50*(x50 + y50)
acc6 -= z60*(x60 + y60)
acc7 -= z70*(x70 + y70)
acc8 -= z80*(x80 + y80)
acc9 -= z90*(x90 + y90)
acc10 -= z100*(x100 + y100)
acc11 -= z110*(x110 + y110)
acc12 -= z120*(x120 + y120)
acc13 -= z130*(x130 + y130)
acc14 -= z140*(x140 + y140)
acc15 -= z150*(x150 + y150)

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
acc v16acc48 Incoming accumulation vector (16 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v8acc48 msc8_sym ( v8acc48  acc,
v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-subtract intrinsic function with pre-add from x input buffer .

acc0 -= z00*(x00 + y00) + z01*(x01 + y01)
acc1 -= z10*(x10 + y10) + z11*(x11 + y11)
acc2 -= z20*(x20 + y20) + z21*(x21 + y21)
acc3 -= z30*(x30 + y30) + z31*(x31 + y31)
acc4 -= z40*(x40 + y40) + z41*(x41 + y41)
acc5 -= z50*(x50 + y50) + z51*(x51 + y51)
acc6 -= z60*(x60 + y60) + z61*(x61 + y61)
acc7 -= z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
acc v8acc48 Incoming accumulation vector (8 x int48 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc48 msc8_sym ( v8acc48  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-subtract intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 -= z00*(x00 + y00) + z01*(x01 + y01)
acc1 -= z10*(x10 + y10) + z11*(x11 + y11)
acc2 -= z20*(x20 + y20) + z21*(x21 + y21)
acc3 -= z30*(x30 + y30) + z31*(x31 + y31)
acc4 -= z40*(x40 + y40) + z41*(x41 + y41)
acc5 -= z50*(x50 + y50) + z51*(x51 + y51)
acc6 -= z60*(x60 + y60) + z61*(x61 + y61)
acc7 -= z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
acc v8acc48 Incoming accumulation vector (8 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc48 msc8_sym ( v8acc48  acc,
v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-subtract intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 -= z00*(x00 + y00) + z01*(x01 + y01)
acc1 -= z10*(x10 + y10) + z11*(x11 + y11)
acc2 -= z20*(x20 + y20) + z21*(x21 + y21)
acc3 -= z30*(x30 + y30) + z31*(x31 + y31)
acc4 -= z40*(x40 + y40) + z41*(x41 + y41)
acc5 -= z50*(x50 + y50) + z51*(x51 + y51)
acc6 -= z60*(x60 + y60) + z61*(x61 + y61)
acc7 -= z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
acc v8acc48 Incoming accumulation vector (8 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v16acc48 mul16_sym ( v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply intrinsic function with pre-add from x input buffer .

acc0 = z00*(x00 + y00)
acc1 = z10*(x10 + y10)
acc2 = z20*(x20 + y20)
acc3 = z30*(x30 + y30)
acc4 = z40*(x40 + y40)
acc5 = z50*(x50 + y50)
acc6 = z60*(x60 + y60)
acc7 = z70*(x70 + y70)
acc8 = z80*(x80 + y80)
acc9 = z90*(x90 + y90)
acc10 = z100*(x100 + y100)
acc11 = z110*(x110 + y110)
acc12 = z120*(x120 + y120)
acc13 = z130*(x130 + y130)
acc14 = z140*(x140 + y140)
acc15 = z150*(x150 + y150)

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v16acc48 mul16_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 = z00*(x00 + y00)
acc1 = z10*(x10 + y10)
acc2 = z20*(x20 + y20)
acc3 = z30*(x30 + y30)
acc4 = z40*(x40 + y40)
acc5 = z50*(x50 + y50)
acc6 = z60*(x60 + y60)
acc7 = z70*(x70 + y70)
acc8 = z80*(x80 + y80)
acc9 = z90*(x90 + y90)
acc10 = z100*(x100 + y100)
acc11 = z110*(x110 + y110)
acc12 = z120*(x120 + y120)
acc13 = z130*(x130 + y130)
acc14 = z140*(x140 + y140)
acc15 = z150*(x150 + y150)

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v16acc48 mul16_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 = z00*(x00 + y00)
acc1 = z10*(x10 + y10)
acc2 = z20*(x20 + y20)
acc3 = z30*(x30 + y30)
acc4 = z40*(x40 + y40)
acc5 = z50*(x50 + y50)
acc6 = z60*(x60 + y60)
acc7 = z70*(x70 + y70)
acc8 = z80*(x80 + y80)
acc9 = z90*(x90 + y90)
acc10 = z100*(x100 + y100)
acc11 = z110*(x110 + y110)
acc12 = z120*(x120 + y120)
acc13 = z130*(x130 + y130)
acc14 = z140*(x140 + y140)
acc15 = z150*(x150 + y150)

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v8acc48 mul8_sym ( v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply intrinsic function with pre-add from x input buffer .

acc0 = z00*(x00 + y00) + z01*(x01 + y01)
acc1 = z10*(x10 + y10) + z11*(x11 + y11)
acc2 = z20*(x20 + y20) + z21*(x21 + y21)
acc3 = z30*(x30 + y30) + z31*(x31 + y31)
acc4 = z40*(x40 + y40) + z41*(x41 + y41)
acc5 = z50*(x50 + y50) + z51*(x51 + y51)
acc6 = z60*(x60 + y60) + z61*(x61 + y61)
acc7 = z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc48 mul8_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 = z00*(x00 + y00) + z01*(x01 + y01)
acc1 = z10*(x10 + y10) + z11*(x11 + y11)
acc2 = z20*(x20 + y20) + z21*(x21 + y21)
acc3 = z30*(x30 + y30) + z31*(x31 + y31)
acc4 = z40*(x40 + y40) + z41*(x41 + y41)
acc5 = z50*(x50 + y50) + z51*(x51 + y51)
acc6 = z60*(x60 + y60) + z61*(x61 + y61)
acc7 = z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc48 mul8_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 = z00*(x00 + y00) + z01*(x01 + y01)
acc1 = z10*(x10 + y10) + z11*(x11 + y11)
acc2 = z20*(x20 + y20) + z21*(x21 + y21)
acc3 = z30*(x30 + y30) + z31*(x31 + y31)
acc4 = z40*(x40 + y40) + z41*(x41 + y41)
acc5 = z50*(x50 + y50) + z51*(x51 + y51)
acc6 = z60*(x60 + y60) + z61*(x61 + y61)
acc7 = z70*(x70 + y70) + z71*(x71 + y71)

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v16acc48 negmul16_sym ( v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply-negate intrinsic function with pre-add from x input buffer .

acc0 = -( z00*(x00 + y00) )
acc1 = -( z10*(x10 + y10) )
acc2 = -( z20*(x20 + y20) )
acc3 = -( z30*(x30 + y30) )
acc4 = -( z40*(x40 + y40) )
acc5 = -( z50*(x50 + y50) )
acc6 = -( z60*(x60 + y60) )
acc7 = -( z70*(x70 + y70) )
acc8 = -( z80*(x80 + y80) )
acc9 = -( z90*(x90 + y90) )
acc10 = -( z100*(x100 + y100) )
acc11 = -( z110*(x110 + y110) )
acc12 = -( z120*(x120 + y120) )
acc13 = -( z130*(x130 + y130) )
acc14 = -( z140*(x140 + y140) )
acc15 = -( z150*(x150 + y150) )

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v16acc48 negmul16_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply-negate intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 = -( z00*(x00 + y00) )
acc1 = -( z10*(x10 + y10) )
acc2 = -( z20*(x20 + y20) )
acc3 = -( z30*(x30 + y30) )
acc4 = -( z40*(x40 + y40) )
acc5 = -( z50*(x50 + y50) )
acc6 = -( z60*(x60 + y60) )
acc7 = -( z70*(x70 + y70) )
acc8 = -( z80*(x80 + y80) )
acc9 = -( z90*(x90 + y90) )
acc10 = -( z100*(x100 + y100) )
acc11 = -( z110*(x110 + y110) )
acc12 = -( z120*(x120 + y120) )
acc13 = -( z130*(x130 + y130) )
acc14 = -( z140*(x140 + y140) )
acc15 = -( z150*(x150 + y150) )

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v16acc48 negmul16_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Symetric multiply-negate intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 = -( z00*(x00 + y00) )
acc1 = -( z10*(x10 + y10) )
acc2 = -( z20*(x20 + y20) )
acc3 = -( z30*(x30 + y30) )
acc4 = -( z40*(x40 + y40) )
acc5 = -( z50*(x50 + y50) )
acc6 = -( z60*(x60 + y60) )
acc7 = -( z70*(x70 + y70) )
acc8 = -( z80*(x80 + y80) )
acc9 = -( z90*(x90 + y90) )
acc10 = -( z100*(x100 + y100) )
acc11 = -( z110*(x110 + y110) )
acc12 = -( z120*(x120 + y120) )
acc13 = -( z130*(x130 + y130) )
acc14 = -( z140*(x140 + y140) )
acc15 = -( z150*(x150 + y150) )

Parameters

Input/OutputType Comments
return v16acc48 Returned accumulation vector (16 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
xstart int Starting position offset applied to all lanes of input from X buffer.
xoffsets unsigned int 4b offset for each lane. LSB apply to first lane
xoffsets_hi unsigned int 4b offset for each lane. LSB apply to 8th lane
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hiunsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th 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.
v8acc48 negmul8_sym ( v64int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-negate intrinsic function with pre-add from x input buffer .

acc0 = -( z00*(x00 + y00) + z01*(x01 + y01) )
acc1 = -( z10*(x10 + y10) + z11*(x11 + y11) )
acc2 = -( z20*(x20 + y20) + z21*(x21 + y21) )
acc3 = -( z30*(x30 + y30) + z31*(x31 + y31) )
acc4 = -( z40*(x40 + y40) + z41*(x41 + y41) )
acc5 = -( z50*(x50 + y50) + z51*(x51 + y51) )
acc6 = -( z60*(x60 + y60) + z61*(x61 + y61) )
acc7 = -( z70*(x70 + y70) + z71*(x71 + y71) )

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
xbuff v64int16Input buffer of 64 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc48 negmul8_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-negate intrinsic function with pre-add from x input buffer using small X input buffer.

acc0 = -( z00*(x00 + y00) + z01*(x01 + y01) )
acc1 = -( z10*(x10 + y10) + z11*(x11 + y11) )
acc2 = -( z20*(x20 + y20) + z21*(x21 + y21) )
acc3 = -( z30*(x30 + y30) + z31*(x31 + y31) )
acc4 = -( z40*(x40 + y40) + z41*(x41 + y41) )
acc5 = -( z50*(x50 + y50) + z51*(x51 + y51) )
acc6 = -( z60*(x60 + y60) + z61*(x61 + y61) )
acc7 = -( z70*(x70 + y70) + z71*(x71 + y71) )

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.
v8acc48 negmul8_sym ( v32int16  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v32int16  ybuff,
int  ystart,
v8int32  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Symetric multiply-negate intrinsic function with pre-add from x and y input buffers using small X input buffer.

acc0 = -( z00*(x00 + y00) + z01*(x01 + y01) )
acc1 = -( z10*(x10 + y10) + z11*(x11 + y11) )
acc2 = -( z20*(x20 + y20) + z21*(x21 + y21) )
acc3 = -( z30*(x30 + y30) + z31*(x31 + y31) )
acc4 = -( z40*(x40 + y40) + z41*(x41 + y41) )
acc5 = -( z50*(x50 + y50) + z51*(x51 + y51) )
acc6 = -( z60*(x60 + y60) + z61*(x61 + y61) )
acc7 = -( z70*(x70 + y70) + z71*(x71 + y71) )

Parameters

Input/OutputType Comments
return v8acc48 Returned accumulation vector (8 x int48 lanes)
xbuff v32int16Input buffer of 32 elements of type int16
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
xstep unsigned int Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuff v32int16Right input buffer of 32 elements of type int16
ystart int Starting position offset applied to all lanes for input from Y buffer.
zbuff v8int32Input buffer of 8 elements of type int32
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.
zoffsets unsigned int 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstep int Step 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.