| AI Engine Intrinsics User Guide (AIE) v2025.2

Loading...
Searching...
No Matches
Functions
16 bit Real x 32 bit Real
Intrinsics » Vector Operations » MAC intrinsics » Multiplication » Advanced » Integer » Vector MAC with partial pre-adding » 16 bit x 32 bit

## Overview

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

## Functions
v8acc80 | lmac8_sym_ct (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-accumulate intrinsic function with center-tap optimization with pre-add from x input buffer using small X input buffer.
v8acc80 | lmac8_sym_ct (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, v32int16 ybuff, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-accumulate intrinsic function with center-tap optimization with pre-add from x and y input buffers using small X input buffer.
v8acc80 | lmac8_sym_ct (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-accumulate intrinsic function with center-tap optimization with pre-add from x input buffer .
v8acc80 | lmsc8_sym_ct (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-subtract intrinsic function with center-tap optimization with pre-add from x input buffer using small X input buffer.
v8acc80 | lmsc8_sym_ct (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, v32int16 ybuff, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-subtract intrinsic function with center-tap optimization with pre-add from x and y input buffers using small X input buffer.
v8acc80 | lmsc8_sym_ct (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-subtract intrinsic function with center-tap optimization with pre-add from x input buffer .
v8acc80 | lmul8_sym_ct (v32int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply intrinsic function with center-tap optimization with pre-add from x input buffer using small X input buffer.
v8acc80 | lmul8_sym_ct (v32int16 xbuff, int xstart, unsigned int xoffsets, v32int16 ybuff, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply intrinsic function with center-tap optimization with pre-add from x and y input buffers using small X input buffer.
v8acc80 | lmul8_sym_ct (v64int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply intrinsic function with center-tap optimization with pre-add from x input buffer .
v8acc80 | lnegmul8_sym_ct (v32int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-negate intrinsic function with center-tap optimization with pre-add from x input buffer using small X input buffer.
v8acc80 | lnegmul8_sym_ct (v32int16 xbuff, int xstart, unsigned int xoffsets, v32int16 ybuff, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-negate intrinsic function with center-tap optimization with pre-add from x and y input buffers using small X input buffer.
v8acc80 | lnegmul8_sym_ct (v64int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-negate intrinsic function with center-tap optimization with pre-add from x input buffer .
v8acc48 | mac8_sym_ct (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-accumulate intrinsic function with center-tap optimization with pre-add from x input buffer using small X input buffer.
v8acc48 | mac8_sym_ct (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, v32int16 ybuff, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-accumulate intrinsic function with center-tap optimization with pre-add from x and y input buffers using small X input buffer.
v8acc48 | mac8_sym_ct (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-accumulate intrinsic function with center-tap optimization with pre-add from x input buffer .
v8acc48 | msc8_sym_ct (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-subtract intrinsic function with center-tap optimization with pre-add from x input buffer using small X input buffer.
v8acc48 | msc8_sym_ct (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, v32int16 ybuff, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-subtract intrinsic function with center-tap optimization with pre-add from x and y input buffers using small X input buffer.
v8acc48 | msc8_sym_ct (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-subtract intrinsic function with center-tap optimization with pre-add from x input buffer .
v8acc48 | mul8_sym_ct (v32int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply intrinsic function with center-tap optimization with pre-add from x input buffer using small X input buffer.
v8acc48 | mul8_sym_ct (v32int16 xbuff, int xstart, unsigned int xoffsets, v32int16 ybuff, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply intrinsic function with center-tap optimization with pre-add from x and y input buffers using small X input buffer.
v8acc48 | mul8_sym_ct (v64int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply intrinsic function with center-tap optimization with pre-add from x input buffer .
v8acc48 | negmul8_sym_ct (v32int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-negate intrinsic function with center-tap optimization with pre-add from x input buffer using small X input buffer.
v8acc48 | negmul8_sym_ct (v32int16 xbuff, int xstart, unsigned int xoffsets, v32int16 ybuff, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-negate intrinsic function with center-tap optimization with pre-add from x and y input buffers using small X input buffer.
v8acc48 | negmul8_sym_ct (v64int16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int mtap, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Symetric multiply-negate intrinsic function with center-tap optimization with pre-add from x input buffer .

## Function Documentation

## ◆ lmac8_sym_ct() [1/3]

v8acc80 lmac8_sym_ct | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lmac8_sym_ct() [2/3]

v8acc80 lmac8_sym_ct | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lmac8_sym_ct() [3/3]

v8acc80 lmac8_sym_ct | ( | v8acc80 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lmsc8_sym_ct() [1/3]

v8acc80 lmsc8_sym_ct | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lmsc8_sym_ct() [2/3]

v8acc80 lmsc8_sym_ct | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lmsc8_sym_ct() [3/3]

v8acc80 lmsc8_sym_ct | ( | v8acc80 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lmul8_sym_ct() [1/3]

v8acc80 lmul8_sym_ct | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lmul8_sym_ct() [2/3]

v8acc80 lmul8_sym_ct | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lmul8_sym_ct() [3/3]

v8acc80 lmul8_sym_ct | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lnegmul8_sym_ct() [1/3]

v8acc80 lnegmul8_sym_ct | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lnegmul8_sym_ct() [2/3]

v8acc80 lnegmul8_sym_ct | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ lnegmul8_sym_ct() [3/3]

v8acc80 lnegmul8_sym_ct | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ mac8_sym_ct() [1/3]

v8acc48 mac8_sym_ct | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ mac8_sym_ct() [2/3]

v8acc48 mac8_sym_ct | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ mac8_sym_ct() [3/3]

v8acc48 mac8_sym_ct | ( | v8acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ msc8_sym_ct() [1/3]

v8acc48 msc8_sym_ct | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ msc8_sym_ct() [2/3]

v8acc48 msc8_sym_ct | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ msc8_sym_ct() [3/3]

v8acc48 msc8_sym_ct | ( | v8acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ mul8_sym_ct() [1/3]

v8acc48 mul8_sym_ct | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ mul8_sym_ct() [2/3]

v8acc48 mul8_sym_ct | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ mul8_sym_ct() [3/3]

v8acc48 mul8_sym_ct | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ negmul8_sym_ct() [1/3]

v8acc48 negmul8_sym_ct | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ negmul8_sym_ct() [2/3]

v8acc48 negmul8_sym_ct | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.

## ◆ negmul8_sym_ct() [3/3]

v8acc48 negmul8_sym_ct | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | mtap,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

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

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  mtap | Selector for partial pre-adding relative to xstart
  zbuff | Input buffer of 8 elements of type int32
  zstart | 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 | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | 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.