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

Loading...
Searching...
No Matches
Functions
Dynamic Z buffer conjugation
Intrinsics » Vector Operations » MAC intrinsics » Multiplication » Advanced » Integer » Vector MAC » 16 bit x 16 bit » 16 bit Real x 16 bit Complex

## Overview

16 bit real by 16 bit complex using Dynamic Z buffer conjugation

## Functions
v4cacc48 | mac4 (v4cacc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-accumulate intrinsic function with dynamic z buffer conjugation using small X input buffer.
v4cacc48 | mac4 (v4cacc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-accumulate intrinsic function with dynamic z buffer conjugation .
v8cacc48 | mac8 (v8cacc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-accumulate intrinsic function with dynamic z buffer conjugation using small X input buffer.
v8cacc48 | mac8 (v8cacc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-accumulate intrinsic function with dynamic z buffer conjugation .
v4cacc48 | msc4 (v4cacc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-subtract intrinsic function with dynamic z buffer conjugation using small X input buffer.
v4cacc48 | msc4 (v4cacc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-subtract intrinsic function with dynamic z buffer conjugation .
v8cacc48 | msc8 (v8cacc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-subtract intrinsic function with dynamic z buffer conjugation using small X input buffer.
v8cacc48 | msc8 (v8cacc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-subtract intrinsic function with dynamic z buffer conjugation .
v4cacc48 | mul4 (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply intrinsic function with dynamic z buffer conjugation using small X input buffer.
v4cacc48 | mul4 (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply intrinsic function with dynamic z buffer conjugation .
v8cacc48 | mul8 (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply intrinsic function with dynamic z buffer conjugation using small X input buffer.
v8cacc48 | mul8 (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply intrinsic function with dynamic z buffer conjugation .
v4cacc48 | negmul4 (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-negate intrinsic function with dynamic z buffer conjugation using small X input buffer.
v4cacc48 | negmul4 (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-negate intrinsic function with dynamic z buffer conjugation .
v8cacc48 | negmul8 (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-negate intrinsic function with dynamic z buffer conjugation using small X input buffer.
v8cacc48 | negmul8 (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep, bool zconj)
| Complex multiply-negate intrinsic function with dynamic z buffer conjugation .

## Function Documentation

## ◆ mac4() [1/2]

v4cacc48 mac4 | ( | v4cacc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-accumulate intrinsic function with dynamic z buffer conjugation using small X input buffer.

acc0 += z00*x00 + z01*x01 + z02*x02 + z03*x03
acc1 += z10*x10 + z11*x11 + z12*x12 + z13*x13
acc2 += z20*x20 + z21*x21 + z22*x22 + z23*x23
acc3 += z30*x30 + z31*x31 + z32*x32 + z33*x33

Returns
  Returned accumulation vector (4 x cint48 lanes)

Parameters

  acc | Incoming accumulation vector (4 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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.

## ◆ mac4() [2/2]

v4cacc48 mac4 | ( | v4cacc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-accumulate intrinsic function with dynamic z buffer conjugation .

acc0 += z00*x00 + z01*x01 + z02*x02 + z03*x03
acc1 += z10*x10 + z11*x11 + z12*x12 + z13*x13
acc2 += z20*x20 + z21*x21 + z22*x22 + z23*x23
acc3 += z30*x30 + z31*x31 + z32*x32 + z33*x33

Returns
  Returned accumulation vector (4 x cint48 lanes)

Parameters

  acc | Incoming accumulation vector (4 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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() [1/2]

v8cacc48 mac8 | ( | v8cacc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-accumulate intrinsic function with dynamic z buffer conjugation 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 cint48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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() [2/2]

v8cacc48 mac8 | ( | v8cacc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-accumulate intrinsic function with dynamic z buffer conjugation .

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 cint48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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.

## ◆ msc4() [1/2]

v4cacc48 msc4 | ( | v4cacc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-subtract intrinsic function with dynamic z buffer conjugation using small X input buffer.

acc0 -= z00*x00 + z01*x01 + z02*x02 + z03*x03
acc1 -= z10*x10 + z11*x11 + z12*x12 + z13*x13
acc2 -= z20*x20 + z21*x21 + z22*x22 + z23*x23
acc3 -= z30*x30 + z31*x31 + z32*x32 + z33*x33

Returns
  Returned accumulation vector (4 x cint48 lanes)

Parameters

  acc | Incoming accumulation vector (4 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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.

## ◆ msc4() [2/2]

v4cacc48 msc4 | ( | v4cacc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-subtract intrinsic function with dynamic z buffer conjugation .

acc0 -= z00*x00 + z01*x01 + z02*x02 + z03*x03
acc1 -= z10*x10 + z11*x11 + z12*x12 + z13*x13
acc2 -= z20*x20 + z21*x21 + z22*x22 + z23*x23
acc3 -= z30*x30 + z31*x31 + z32*x32 + z33*x33

Returns
  Returned accumulation vector (4 x cint48 lanes)

Parameters

  acc | Incoming accumulation vector (4 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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() [1/2]

v8cacc48 msc8 | ( | v8cacc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-subtract intrinsic function with dynamic z buffer conjugation 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 cint48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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() [2/2]

v8cacc48 msc8 | ( | v8cacc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-subtract intrinsic function with dynamic z buffer conjugation .

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 cint48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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.

## ◆ mul4() [1/2]

v4cacc48 mul4 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply intrinsic function with dynamic z buffer conjugation using small X input buffer.

acc0 = z00*x00 + z01*x01 + z02*x02 + z03*x03
acc1 = z10*x10 + z11*x11 + z12*x12 + z13*x13
acc2 = z20*x20 + z21*x21 + z22*x22 + z23*x23
acc3 = z30*x30 + z31*x31 + z32*x32 + z33*x33

Returns
  Returned accumulation vector (4 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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.

## ◆ mul4() [2/2]

v4cacc48 mul4 | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply intrinsic function with dynamic z buffer conjugation .

acc0 = z00*x00 + z01*x01 + z02*x02 + z03*x03
acc1 = z10*x10 + z11*x11 + z12*x12 + z13*x13
acc2 = z20*x20 + z21*x21 + z22*x22 + z23*x23
acc3 = z30*x30 + z31*x31 + z32*x32 + z33*x33

Returns
  Returned accumulation vector (4 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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() [1/2]

v8cacc48 mul8 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply intrinsic function with dynamic z buffer conjugation 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 cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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() [2/2]

v8cacc48 mul8 | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply intrinsic function with dynamic z buffer conjugation .

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 cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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.

## ◆ negmul4() [1/2]

v4cacc48 negmul4 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-negate intrinsic function with dynamic z buffer conjugation using small X input buffer.

acc0 = -( z00*x00 + z01*x01 + z02*x02 + z03*x03 )
acc1 = -( z10*x10 + z11*x11 + z12*x12 + z13*x13 )
acc2 = -( z20*x20 + z21*x21 + z22*x22 + z23*x23 )
acc3 = -( z30*x30 + z31*x31 + z32*x32 + z33*x33 )

Returns
  Returned accumulation vector (4 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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.

## ◆ negmul4() [2/2]

v4cacc48 negmul4 | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-negate intrinsic function with dynamic z buffer conjugation .

acc0 = -( z00*x00 + z01*x01 + z02*x02 + z03*x03 )
acc1 = -( z10*x10 + z11*x11 + z12*x12 + z13*x13 )
acc2 = -( z20*x20 + z21*x21 + z22*x22 + z23*x23 )
acc3 = -( z30*x30 + z31*x31 + z32*x32 + z33*x33 )

Returns
  Returned accumulation vector (4 x cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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() [1/2]

v8cacc48 negmul8 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-negate intrinsic function with dynamic z buffer conjugation 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 cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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() [2/2]

v8cacc48 negmul8 | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep,
|  | bool | zconj
| ) |  |

Complex multiply-negate intrinsic function with dynamic z buffer conjugation .

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 cint48 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 the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type cint16
  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.
  zconj | Selector for conjugation in Z buffer

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.