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

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

## Overview

16 bit complex by 16 bit complex using X and Z buffer conjugation

## Functions
v4cacc48 | mac4_cc (v4cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Complex multiply-accumulate intrinsic function with x and z buffer conjugation using small X input buffer.
v4cacc48 | mac4_cc (v4cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Complex multiply-accumulate intrinsic function with x and z buffer conjugation .
v8cacc48 | mac8_cc (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, v8cint16 zbuff, int zstart, unsigned int zoffsets)
| Complex multiply-accumulate intrinsic function with x and z buffer conjugation using small X input buffer.
v8cacc48 | mac8_cc (v8cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, v8cint16 zbuff, int zstart, unsigned int zoffsets)
| Complex multiply-accumulate intrinsic function with x and z buffer conjugation .
v4cacc48 | msc4_cc (v4cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Complex multiply-subtract intrinsic function with x and z buffer conjugation using small X input buffer.
v4cacc48 | msc4_cc (v4cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Complex multiply-subtract intrinsic function with x and z buffer conjugation .
v8cacc48 | msc8_cc (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, v8cint16 zbuff, int zstart, unsigned int zoffsets)
| Complex multiply-subtract intrinsic function with x and z buffer conjugation using small X input buffer.
v8cacc48 | msc8_cc (v8cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, v8cint16 zbuff, int zstart, unsigned int zoffsets)
| Complex multiply-subtract intrinsic function with x and z buffer conjugation .
v4cacc48 | mul4_cc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Complex multiply intrinsic function with x and z buffer conjugation using small X input buffer.
v4cacc48 | mul4_cc (v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Complex multiply intrinsic function with x and z buffer conjugation .
v8cacc48 | mul8_cc (v16cint16 xbuff, int xstart, unsigned int xoffsets, v8cint16 zbuff, int zstart, unsigned int zoffsets)
| Complex multiply intrinsic function with x and z buffer conjugation using small X input buffer.
v8cacc48 | mul8_cc (v32cint16 xbuff, int xstart, unsigned int xoffsets, v8cint16 zbuff, int zstart, unsigned int zoffsets)
| Complex multiply intrinsic function with x and z buffer conjugation .
v4cacc48 | negmul4_cc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Complex multiply-negate intrinsic function with x and z buffer conjugation using small X input buffer.
v4cacc48 | negmul4_cc (v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8cint16 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Complex multiply-negate intrinsic function with x and z buffer conjugation .
v8cacc48 | negmul8_cc (v16cint16 xbuff, int xstart, unsigned int xoffsets, v8cint16 zbuff, int zstart, unsigned int zoffsets)
| Complex multiply-negate intrinsic function with x and z buffer conjugation using small X input buffer.
v8cacc48 | negmul8_cc (v32cint16 xbuff, int xstart, unsigned int xoffsets, v8cint16 zbuff, int zstart, unsigned int zoffsets)
| Complex multiply-negate intrinsic function with x and z buffer conjugation .

## Function Documentation

## ◆ mac4_cc() [1/2]

v4cacc48 mac4_cc | ( | v4cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

acc0 += cnj(z00)*cnj(x00) + cnj(z01)*cnj(x01)
acc1 += cnj(z10)*cnj(x10) + cnj(z11)*cnj(x11)
acc2 += cnj(z20)*cnj(x20) + cnj(z21)*cnj(x21)
acc3 += cnj(z30)*cnj(x30) + cnj(z31)*cnj(x31)

Returns
  Returned accumulation vector (4 x cint48 lanes)

Parameters

  acc | Incoming accumulation vector (4 x cint48 lanes)
  xbuff | Input buffer of 16 elements of type cint16
  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.

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

v4cacc48 mac4_cc | ( | v4cacc48 | acc,
|  | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Complex multiply-accumulate intrinsic function with x and z buffer conjugation .

acc0 += cnj(z00)*cnj(x00) + cnj(z01)*cnj(x01)
acc1 += cnj(z10)*cnj(x10) + cnj(z11)*cnj(x11)
acc2 += cnj(z20)*cnj(x20) + cnj(z21)*cnj(x21)
acc3 += cnj(z30)*cnj(x30) + cnj(z31)*cnj(x31)

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 cint16
  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.

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

v8cacc48 mac8_cc | ( | v8cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets
| ) |  |

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

acc0 += cnj(z00)*cnj(x00)
acc1 += cnj(z10)*cnj(x10)
acc2 += cnj(z20)*cnj(x20)
acc3 += cnj(z30)*cnj(x30)
acc4 += cnj(z40)*cnj(x40)
acc5 += cnj(z50)*cnj(x50)
acc6 += cnj(z60)*cnj(x60)
acc7 += cnj(z70)*cnj(x70)

Returns
  Returned accumulation vector (8 x cint48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x cint48 lanes)
  xbuff | Input buffer of 16 elements of type cint16
  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
  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

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

v8cacc48 mac8_cc | ( | v8cacc48 | acc,
|  | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets
| ) |  |

Complex multiply-accumulate intrinsic function with x and z buffer conjugation .

acc0 += cnj(z00)*cnj(x00)
acc1 += cnj(z10)*cnj(x10)
acc2 += cnj(z20)*cnj(x20)
acc3 += cnj(z30)*cnj(x30)
acc4 += cnj(z40)*cnj(x40)
acc5 += cnj(z50)*cnj(x50)
acc6 += cnj(z60)*cnj(x60)
acc7 += cnj(z70)*cnj(x70)

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 cint16
  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
  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

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

v4cacc48 msc4_cc | ( | v4cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

acc0 -= cnj(z00)*cnj(x00) + cnj(z01)*cnj(x01)
acc1 -= cnj(z10)*cnj(x10) + cnj(z11)*cnj(x11)
acc2 -= cnj(z20)*cnj(x20) + cnj(z21)*cnj(x21)
acc3 -= cnj(z30)*cnj(x30) + cnj(z31)*cnj(x31)

Returns
  Returned accumulation vector (4 x cint48 lanes)

Parameters

  acc | Incoming accumulation vector (4 x cint48 lanes)
  xbuff | Input buffer of 16 elements of type cint16
  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.

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

v4cacc48 msc4_cc | ( | v4cacc48 | acc,
|  | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Complex multiply-subtract intrinsic function with x and z buffer conjugation .

acc0 -= cnj(z00)*cnj(x00) + cnj(z01)*cnj(x01)
acc1 -= cnj(z10)*cnj(x10) + cnj(z11)*cnj(x11)
acc2 -= cnj(z20)*cnj(x20) + cnj(z21)*cnj(x21)
acc3 -= cnj(z30)*cnj(x30) + cnj(z31)*cnj(x31)

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 cint16
  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.

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

v8cacc48 msc8_cc | ( | v8cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets
| ) |  |

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

acc0 -= cnj(z00)*cnj(x00)
acc1 -= cnj(z10)*cnj(x10)
acc2 -= cnj(z20)*cnj(x20)
acc3 -= cnj(z30)*cnj(x30)
acc4 -= cnj(z40)*cnj(x40)
acc5 -= cnj(z50)*cnj(x50)
acc6 -= cnj(z60)*cnj(x60)
acc7 -= cnj(z70)*cnj(x70)

Returns
  Returned accumulation vector (8 x cint48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x cint48 lanes)
  xbuff | Input buffer of 16 elements of type cint16
  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
  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

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

v8cacc48 msc8_cc | ( | v8cacc48 | acc,
|  | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets
| ) |  |

Complex multiply-subtract intrinsic function with x and z buffer conjugation .

acc0 -= cnj(z00)*cnj(x00)
acc1 -= cnj(z10)*cnj(x10)
acc2 -= cnj(z20)*cnj(x20)
acc3 -= cnj(z30)*cnj(x30)
acc4 -= cnj(z40)*cnj(x40)
acc5 -= cnj(z50)*cnj(x50)
acc6 -= cnj(z60)*cnj(x60)
acc7 -= cnj(z70)*cnj(x70)

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 cint16
  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
  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

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

v4cacc48 mul4_cc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

acc0 = cnj(z00)*cnj(x00) + cnj(z01)*cnj(x01)
acc1 = cnj(z10)*cnj(x10) + cnj(z11)*cnj(x11)
acc2 = cnj(z20)*cnj(x20) + cnj(z21)*cnj(x21)
acc3 = cnj(z30)*cnj(x30) + cnj(z31)*cnj(x31)

Returns
  Returned accumulation vector (4 x cint48 lanes)

Parameters

  xbuff | Input buffer of 16 elements of type cint16
  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.

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

v4cacc48 mul4_cc | ( | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Complex multiply intrinsic function with x and z buffer conjugation .

acc0 = cnj(z00)*cnj(x00) + cnj(z01)*cnj(x01)
acc1 = cnj(z10)*cnj(x10) + cnj(z11)*cnj(x11)
acc2 = cnj(z20)*cnj(x20) + cnj(z21)*cnj(x21)
acc3 = cnj(z30)*cnj(x30) + cnj(z31)*cnj(x31)

Returns
  Returned accumulation vector (4 x cint48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type cint16
  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.

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

v8cacc48 mul8_cc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets
| ) |  |

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

acc0 = cnj(z00)*cnj(x00)
acc1 = cnj(z10)*cnj(x10)
acc2 = cnj(z20)*cnj(x20)
acc3 = cnj(z30)*cnj(x30)
acc4 = cnj(z40)*cnj(x40)
acc5 = cnj(z50)*cnj(x50)
acc6 = cnj(z60)*cnj(x60)
acc7 = cnj(z70)*cnj(x70)

Returns
  Returned accumulation vector (8 x cint48 lanes)

Parameters

  xbuff | Input buffer of 16 elements of type cint16
  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
  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

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

v8cacc48 mul8_cc | ( | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets
| ) |  |

Complex multiply intrinsic function with x and z buffer conjugation .

acc0 = cnj(z00)*cnj(x00)
acc1 = cnj(z10)*cnj(x10)
acc2 = cnj(z20)*cnj(x20)
acc3 = cnj(z30)*cnj(x30)
acc4 = cnj(z40)*cnj(x40)
acc5 = cnj(z50)*cnj(x50)
acc6 = cnj(z60)*cnj(x60)
acc7 = cnj(z70)*cnj(x70)

Returns
  Returned accumulation vector (8 x cint48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type cint16
  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
  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

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

v4cacc48 negmul4_cc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

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

acc0 = -( cnj(z00)*cnj(x00) + cnj(z01)*cnj(x01) )
acc1 = -( cnj(z10)*cnj(x10) + cnj(z11)*cnj(x11) )
acc2 = -( cnj(z20)*cnj(x20) + cnj(z21)*cnj(x21) )
acc3 = -( cnj(z30)*cnj(x30) + cnj(z31)*cnj(x31) )

Returns
  Returned accumulation vector (4 x cint48 lanes)

Parameters

  xbuff | Input buffer of 16 elements of type cint16
  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.

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

v4cacc48 negmul4_cc | ( | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Complex multiply-negate intrinsic function with x and z buffer conjugation .

acc0 = -( cnj(z00)*cnj(x00) + cnj(z01)*cnj(x01) )
acc1 = -( cnj(z10)*cnj(x10) + cnj(z11)*cnj(x11) )
acc2 = -( cnj(z20)*cnj(x20) + cnj(z21)*cnj(x21) )
acc3 = -( cnj(z30)*cnj(x30) + cnj(z31)*cnj(x31) )

Returns
  Returned accumulation vector (4 x cint48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type cint16
  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.

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

v8cacc48 negmul8_cc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets
| ) |  |

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

acc0 = -( cnj(z00)*cnj(x00) )
acc1 = -( cnj(z10)*cnj(x10) )
acc2 = -( cnj(z20)*cnj(x20) )
acc3 = -( cnj(z30)*cnj(x30) )
acc4 = -( cnj(z40)*cnj(x40) )
acc5 = -( cnj(z50)*cnj(x50) )
acc6 = -( cnj(z60)*cnj(x60) )
acc7 = -( cnj(z70)*cnj(x70) )

Returns
  Returned accumulation vector (8 x cint48 lanes)

Parameters

  xbuff | Input buffer of 16 elements of type cint16
  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
  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

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

v8cacc48 negmul8_cc | ( | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v8cint16 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets
| ) |  |

Complex multiply-negate intrinsic function with x and z buffer conjugation .

acc0 = -( cnj(z00)*cnj(x00) )
acc1 = -( cnj(z10)*cnj(x10) )
acc2 = -( cnj(z20)*cnj(x20) )
acc3 = -( cnj(z30)*cnj(x30) )
acc4 = -( cnj(z40)*cnj(x40) )
acc5 = -( cnj(z50)*cnj(x50) )
acc6 = -( cnj(z60)*cnj(x60) )
acc7 = -( cnj(z70)*cnj(x70) )

Returns
  Returned accumulation vector (8 x cint48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type cint16
  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
  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

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.