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

Overview

Vector MAC intrinsics with 32 bit real by 16 bit real

Functions

v8acc80 lmac8 (v8acc80 acc, v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-accumulate intrinsic function .
 
v8acc80 lmac8 (v8acc80 acc, v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-accumulate intrinsic function using small X input buffer.
 
v8acc80 lmsc8 (v8acc80 acc, v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-subtract intrinsic function .
 
v8acc80 lmsc8 (v8acc80 acc, v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-subtract intrinsic function using small X input buffer.
 
v8acc80 lmul8 (v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply intrinsic function .
 
v8acc80 lmul8 (v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply intrinsic function using small X input buffer.
 
v8acc80 lnegmul8 (v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-negate intrinsic function .
 
v8acc80 lnegmul8 (v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-negate intrinsic function using small X input buffer.
 
v16acc48 mac16 (v16acc48 acc, v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int16 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Multiply-accumulate intrinsic function .
 
v16acc48 mac16 (v16acc48 acc, v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int16 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Multiply-accumulate intrinsic function using small X input buffer.
 
v8acc48 mac8 (v8acc48 acc, v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-accumulate intrinsic function .
 
v8acc48 mac8 (v8acc48 acc, v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-accumulate intrinsic function using small X input buffer.
 
v16acc48 msc16 (v16acc48 acc, v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int16 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Multiply-subtract intrinsic function .
 
v16acc48 msc16 (v16acc48 acc, v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int16 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Multiply-subtract intrinsic function using small X input buffer.
 
v8acc48 msc8 (v8acc48 acc, v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-subtract intrinsic function .
 
v8acc48 msc8 (v8acc48 acc, v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-subtract intrinsic function using small X input buffer.
 
v16acc48 mul16 (v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int16 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Multiply intrinsic function .
 
v16acc48 mul16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int16 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Multiply intrinsic function using small X input buffer.
 
v8acc48 mul8 (v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply intrinsic function .
 
v8acc48 mul8 (v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply intrinsic function using small X input buffer.
 
v16acc48 negmul16 (v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int16 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Multiply-negate intrinsic function .
 
v16acc48 negmul16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int16 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
 Multiply-negate intrinsic function using small X input buffer.
 
v8acc48 negmul8 (v32int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-negate intrinsic function .
 
v8acc48 negmul8 (v16int32 xbuff, int xstart, unsigned int xoffsets, int xstep, v16int16 zbuff, int zstart, unsigned int zoffsets, int zstep)
 Multiply-negate intrinsic function using small X input buffer.
 

Function Documentation

v8acc80 lmac8 ( v8acc80  acc,
v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-accumulate intrinsic function .

acc0 += z00*x00 + z01*x01
acc1 += z10*x10 + z11*x11
acc2 += z20*x20 + z21*x21
acc3 += z30*x30 + z31*x31
acc4 += z40*x40 + z41*x41
acc5 += z50*x50 + z51*x51
acc6 += z60*x60 + z61*x61
acc7 += z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int80 lanes)
Parameters
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc80 lmac8 ( v8acc80  acc,
v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-accumulate intrinsic function using small X input buffer.

acc0 += z00*x00 + z01*x01
acc1 += z10*x10 + z11*x11
acc2 += z20*x20 + z21*x21
acc3 += z30*x30 + z31*x31
acc4 += z40*x40 + z41*x41
acc5 += z50*x50 + z51*x51
acc6 += z60*x60 + z61*x61
acc7 += z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int80 lanes)
Parameters
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc80 lmsc8 ( v8acc80  acc,
v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-subtract intrinsic function .

acc0 -= z00*x00 + z01*x01
acc1 -= z10*x10 + z11*x11
acc2 -= z20*x20 + z21*x21
acc3 -= z30*x30 + z31*x31
acc4 -= z40*x40 + z41*x41
acc5 -= z50*x50 + z51*x51
acc6 -= z60*x60 + z61*x61
acc7 -= z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int80 lanes)
Parameters
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc80 lmsc8 ( v8acc80  acc,
v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-subtract intrinsic function using small X input buffer.

acc0 -= z00*x00 + z01*x01
acc1 -= z10*x10 + z11*x11
acc2 -= z20*x20 + z21*x21
acc3 -= z30*x30 + z31*x31
acc4 -= z40*x40 + z41*x41
acc5 -= z50*x50 + z51*x51
acc6 -= z60*x60 + z61*x61
acc7 -= z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int80 lanes)
Parameters
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc80 lmul8 ( v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply intrinsic function .

acc0 = z00*x00 + z01*x01
acc1 = z10*x10 + z11*x11
acc2 = z20*x20 + z21*x21
acc3 = z30*x30 + z31*x31
acc4 = z40*x40 + z41*x41
acc5 = z50*x50 + z51*x51
acc6 = z60*x60 + z61*x61
acc7 = z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int80 lanes)
Parameters
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc80 lmul8 ( v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply intrinsic function using small X input buffer.

acc0 = z00*x00 + z01*x01
acc1 = z10*x10 + z11*x11
acc2 = z20*x20 + z21*x21
acc3 = z30*x30 + z31*x31
acc4 = z40*x40 + z41*x41
acc5 = z50*x50 + z51*x51
acc6 = z60*x60 + z61*x61
acc7 = z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int80 lanes)
Parameters
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc80 lnegmul8 ( v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-negate intrinsic function .

acc0 = -( z00*x00 + z01*x01 )
acc1 = -( z10*x10 + z11*x11 )
acc2 = -( z20*x20 + z21*x21 )
acc3 = -( z30*x30 + z31*x31 )
acc4 = -( z40*x40 + z41*x41 )
acc5 = -( z50*x50 + z51*x51 )
acc6 = -( z60*x60 + z61*x61 )
acc7 = -( z70*x70 + z71*x71 )
Returns
Returned accumulation vector (8 x int80 lanes)
Parameters
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc80 lnegmul8 ( v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-negate intrinsic function using small X input buffer.

acc0 = -( z00*x00 + z01*x01 )
acc1 = -( z10*x10 + z11*x11 )
acc2 = -( z20*x20 + z21*x21 )
acc3 = -( z30*x30 + z31*x31 )
acc4 = -( z40*x40 + z41*x41 )
acc5 = -( z50*x50 + z51*x51 )
acc6 = -( z60*x60 + z61*x61 )
acc7 = -( z70*x70 + z71*x71 )
Returns
Returned accumulation vector (8 x int80 lanes)
Parameters
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v16acc48 mac16 ( v16acc48  acc,
v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Multiply-accumulate intrinsic function .

acc0 += z00*x00
acc1 += z10*x10
acc2 += z20*x20
acc3 += z30*x30
acc4 += z40*x40
acc5 += z50*x50
acc6 += z60*x60
acc7 += z70*x70
acc8 += z80*x80
acc9 += z90*x90
acc10 += z100*x100
acc11 += z110*x110
acc12 += z120*x120
acc13 += z130*x130
acc14 += z140*x140
acc15 += z150*x150
Returns
Returned accumulation vector (16 x int48 lanes)
Parameters
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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 ( v16acc48  acc,
v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Multiply-accumulate intrinsic function using small X input buffer.

acc0 += z00*x00
acc1 += z10*x10
acc2 += z20*x20
acc3 += z30*x30
acc4 += z40*x40
acc5 += z50*x50
acc6 += z60*x60
acc7 += z70*x70
acc8 += z80*x80
acc9 += z90*x90
acc10 += z100*x100
acc11 += z110*x110
acc12 += z120*x120
acc13 += z130*x130
acc14 += z140*x140
acc15 += z150*x150
Returns
Returned accumulation vector (16 x int48 lanes)
Parameters
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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 ( v8acc48  acc,
v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-accumulate intrinsic function .

acc0 += z00*x00 + z01*x01
acc1 += z10*x10 + z11*x11
acc2 += z20*x20 + z21*x21
acc3 += z30*x30 + z31*x31
acc4 += z40*x40 + z41*x41
acc5 += z50*x50 + z51*x51
acc6 += z60*x60 + z61*x61
acc7 += z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int48 lanes)
Parameters
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc48 mac8 ( v8acc48  acc,
v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-accumulate intrinsic function using small X input buffer.

acc0 += z00*x00 + z01*x01
acc1 += z10*x10 + z11*x11
acc2 += z20*x20 + z21*x21
acc3 += z30*x30 + z31*x31
acc4 += z40*x40 + z41*x41
acc5 += z50*x50 + z51*x51
acc6 += z60*x60 + z61*x61
acc7 += z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int48 lanes)
Parameters
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v16acc48 msc16 ( v16acc48  acc,
v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Multiply-subtract intrinsic function .

acc0 -= z00*x00
acc1 -= z10*x10
acc2 -= z20*x20
acc3 -= z30*x30
acc4 -= z40*x40
acc5 -= z50*x50
acc6 -= z60*x60
acc7 -= z70*x70
acc8 -= z80*x80
acc9 -= z90*x90
acc10 -= z100*x100
acc11 -= z110*x110
acc12 -= z120*x120
acc13 -= z130*x130
acc14 -= z140*x140
acc15 -= z150*x150
Returns
Returned accumulation vector (16 x int48 lanes)
Parameters
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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 ( v16acc48  acc,
v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Multiply-subtract intrinsic function using small X input buffer.

acc0 -= z00*x00
acc1 -= z10*x10
acc2 -= z20*x20
acc3 -= z30*x30
acc4 -= z40*x40
acc5 -= z50*x50
acc6 -= z60*x60
acc7 -= z70*x70
acc8 -= z80*x80
acc9 -= z90*x90
acc10 -= z100*x100
acc11 -= z110*x110
acc12 -= z120*x120
acc13 -= z130*x130
acc14 -= z140*x140
acc15 -= z150*x150
Returns
Returned accumulation vector (16 x int48 lanes)
Parameters
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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 ( v8acc48  acc,
v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-subtract intrinsic function .

acc0 -= z00*x00 + z01*x01
acc1 -= z10*x10 + z11*x11
acc2 -= z20*x20 + z21*x21
acc3 -= z30*x30 + z31*x31
acc4 -= z40*x40 + z41*x41
acc5 -= z50*x50 + z51*x51
acc6 -= z60*x60 + z61*x61
acc7 -= z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int48 lanes)
Parameters
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc48 msc8 ( v8acc48  acc,
v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-subtract intrinsic function using small X input buffer.

acc0 -= z00*x00 + z01*x01
acc1 -= z10*x10 + z11*x11
acc2 -= z20*x20 + z21*x21
acc3 -= z30*x30 + z31*x31
acc4 -= z40*x40 + z41*x41
acc5 -= z50*x50 + z51*x51
acc6 -= z60*x60 + z61*x61
acc7 -= z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int48 lanes)
Parameters
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v16acc48 mul16 ( v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Multiply intrinsic function .

acc0 = z00*x00
acc1 = z10*x10
acc2 = z20*x20
acc3 = z30*x30
acc4 = z40*x40
acc5 = z50*x50
acc6 = z60*x60
acc7 = z70*x70
acc8 = z80*x80
acc9 = z90*x90
acc10 = z100*x100
acc11 = z110*x110
acc12 = z120*x120
acc13 = z130*x130
acc14 = z140*x140
acc15 = z150*x150
Returns
Returned accumulation vector (16 x int48 lanes)
Parameters
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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 ( v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Multiply intrinsic function using small X input buffer.

acc0 = z00*x00
acc1 = z10*x10
acc2 = z20*x20
acc3 = z30*x30
acc4 = z40*x40
acc5 = z50*x50
acc6 = z60*x60
acc7 = z70*x70
acc8 = z80*x80
acc9 = z90*x90
acc10 = z100*x100
acc11 = z110*x110
acc12 = z120*x120
acc13 = z130*x130
acc14 = z140*x140
acc15 = z150*x150
Returns
Returned accumulation vector (16 x int48 lanes)
Parameters
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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 ( v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply intrinsic function .

acc0 = z00*x00 + z01*x01
acc1 = z10*x10 + z11*x11
acc2 = z20*x20 + z21*x21
acc3 = z30*x30 + z31*x31
acc4 = z40*x40 + z41*x41
acc5 = z50*x50 + z51*x51
acc6 = z60*x60 + z61*x61
acc7 = z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int48 lanes)
Parameters
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc48 mul8 ( v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply intrinsic function using small X input buffer.

acc0 = z00*x00 + z01*x01
acc1 = z10*x10 + z11*x11
acc2 = z20*x20 + z21*x21
acc3 = z30*x30 + z31*x31
acc4 = z40*x40 + z41*x41
acc5 = z50*x50 + z51*x51
acc6 = z60*x60 + z61*x61
acc7 = z70*x70 + z71*x71
Returns
Returned accumulation vector (8 x int48 lanes)
Parameters
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v16acc48 negmul16 ( v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Multiply-negate intrinsic function .

acc0 = -( z00*x00 )
acc1 = -( z10*x10 )
acc2 = -( z20*x20 )
acc3 = -( z30*x30 )
acc4 = -( z40*x40 )
acc5 = -( z50*x50 )
acc6 = -( z60*x60 )
acc7 = -( z70*x70 )
acc8 = -( z80*x80 )
acc9 = -( z90*x90 )
acc10 = -( z100*x100 )
acc11 = -( z110*x110 )
acc12 = -( z120*x120 )
acc13 = -( z130*x130 )
acc14 = -( z140*x140 )
acc15 = -( z150*x150 )
Returns
Returned accumulation vector (16 x int48 lanes)
Parameters
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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 ( v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
unsigned int  xoffsets_hi,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
unsigned int  zoffsets_hi 
)

Multiply-negate intrinsic function using small X input buffer.

acc0 = -( z00*x00 )
acc1 = -( z10*x10 )
acc2 = -( z20*x20 )
acc3 = -( z30*x30 )
acc4 = -( z40*x40 )
acc5 = -( z50*x50 )
acc6 = -( z60*x60 )
acc7 = -( z70*x70 )
acc8 = -( z80*x80 )
acc9 = -( z90*x90 )
acc10 = -( z100*x100 )
acc11 = -( z110*x110 )
acc12 = -( z120*x120 )
acc13 = -( z130*x130 )
acc14 = -( z140*x140 )
acc15 = -( z150*x150 )
Returns
Returned accumulation vector (16 x int48 lanes)
Parameters
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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 ( v32int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-negate intrinsic function .

acc0 = -( z00*x00 + z01*x01 )
acc1 = -( z10*x10 + z11*x11 )
acc2 = -( z20*x20 + z21*x21 )
acc3 = -( z30*x30 + z31*x31 )
acc4 = -( z40*x40 + z41*x41 )
acc5 = -( z50*x50 + z51*x51 )
acc6 = -( z60*x60 + z61*x61 )
acc7 = -( z70*x70 + z71*x71 )
Returns
Returned accumulation vector (8 x int48 lanes)
Parameters
xbuffInput buffer of 32 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.
v8acc48 negmul8 ( v16int32  xbuff,
int  xstart,
unsigned int  xoffsets,
int  xstep,
v16int16  zbuff,
int  zstart,
unsigned int  zoffsets,
int  zstep 
)

Multiply-negate intrinsic function using small X input buffer.

acc0 = -( z00*x00 + z01*x01 )
acc1 = -( z10*x10 + z11*x11 )
acc2 = -( z20*x20 + z21*x21 )
acc3 = -( z30*x30 + z31*x31 )
acc4 = -( z40*x40 + z41*x41 )
acc5 = -( z50*x50 + z51*x51 )
acc6 = -( z60*x60 + z61*x61 )
acc7 = -( z70*x70 + z71*x71 )
Returns
Returned accumulation vector (8 x int48 lanes)
Parameters
xbuffInput buffer of 16 elements of type int32
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 16 elements of type int16
zstartStarting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep between each column for selection in the zbuffer.
Note
  • For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  • Parameter 'zstart' must be a compile time constant.