| AI Engine Intrinsics User Guide (v2026.1)

Loading...
Searching...
No Matches
Functions
Y buffer conjugation.
Intrinsics » Vector Operations » MAC intrinsics » Self-Multiplication » Advanced » 16 bit x 16 bit » 16-bit Complex x 16-bit Complex

## Overview

16-bit Complex self multiplication intrinsics. Y buffer conjugation.

## Functions
v4cacc48 | mac4_nc (v4cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply-accumulate intrinsic function with Y buffer conjugation using small X input buffer.
v4cacc48 | mac4_nc (v4cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v16cint16 ybuff, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply-accumulate intrinsic function with Y buffer conjugation using small X input buffer.
v4cacc48 | mac4_nc (v4cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply-accumulate intrinsic function with Y buffer conjugation .
v8cacc48 | mac8_nc (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int yoffsets)
| Complex multiply-accumulate intrinsic function with Y buffer conjugation using small X input buffer.
v8cacc48 | mac8_nc (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, v16cint16 ybuff, int ystart, unsigned int yoffsets)
| Complex multiply-accumulate intrinsic function with Y buffer conjugation using small X input buffer.
v8cacc48 | mac8_nc (v8cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int yoffsets)
| Complex multiply-accumulate intrinsic function with Y buffer conjugation .
v4cacc48 | msc4_nc (v4cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply-subtract intrinsic function with Y buffer conjugation using small X input buffer.
v4cacc48 | msc4_nc (v4cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v16cint16 ybuff, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply-subtract intrinsic function with Y buffer conjugation using small X input buffer.
v4cacc48 | msc4_nc (v4cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply-subtract intrinsic function with Y buffer conjugation .
v8cacc48 | msc8_nc (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int yoffsets)
| Complex multiply-subtract intrinsic function with Y buffer conjugation using small X input buffer.
v8cacc48 | msc8_nc (v8cacc48 acc, v16cint16 xbuff, int xstart, unsigned int xoffsets, v16cint16 ybuff, int ystart, unsigned int yoffsets)
| Complex multiply-subtract intrinsic function with Y buffer conjugation using small X input buffer.
v8cacc48 | msc8_nc (v8cacc48 acc, v32cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int yoffsets)
| Complex multiply-subtract intrinsic function with Y buffer conjugation .
v4cacc48 | mul4_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply intrinsic function with Y buffer conjugation using small X input buffer.
v4cacc48 | mul4_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v16cint16 ybuff, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply intrinsic function with Y buffer conjugation using small X input buffer.
v4cacc48 | mul4_nc (v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply intrinsic function with Y buffer conjugation .
v8cacc48 | mul8_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int yoffsets)
| Complex multiply intrinsic function with Y buffer conjugation using small X input buffer.
v8cacc48 | mul8_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, v16cint16 ybuff, int ystart, unsigned int yoffsets)
| Complex multiply intrinsic function with Y buffer conjugation using small X input buffer.
v8cacc48 | mul8_nc (v32cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int yoffsets)
| Complex multiply intrinsic function with Y buffer conjugation .
v4cacc48 | negmul4_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply-negate intrinsic function with Y buffer conjugation using small X input buffer.
v4cacc48 | negmul4_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, v16cint16 ybuff, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply-negate intrinsic function with Y buffer conjugation using small X input buffer.
v4cacc48 | negmul4_nc (v32cint16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, unsigned int yoffsets, int ystep)
| Complex multiply-negate intrinsic function with Y buffer conjugation .
v8cacc48 | negmul8_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int yoffsets)
| Complex multiply-negate intrinsic function with Y buffer conjugation using small X input buffer.
v8cacc48 | negmul8_nc (v16cint16 xbuff, int xstart, unsigned int xoffsets, v16cint16 ybuff, int ystart, unsigned int yoffsets)
| Complex multiply-negate intrinsic function with Y buffer conjugation using small X input buffer.
v8cacc48 | negmul8_nc (v32cint16 xbuff, int xstart, unsigned int xoffsets, int ystart, unsigned int yoffsets)
| Complex multiply-negate intrinsic function with Y buffer conjugation .

## Function Documentation

## ◆ mac4_nc() [1/3]

v4cacc48 mac4_nc | ( | v4cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

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

acc0 += x00*cnj(y00) + x01*cnj(y01)
acc1 += x10*cnj(y10) + x11*cnj(y11)
acc2 += x20*cnj(y20) + x21*cnj(y21)
acc3 += x30*cnj(y30) + x31*cnj(y31)

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the xbuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mac4_nc() [2/3]

v4cacc48 mac4_nc | ( | v4cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v16cint16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

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

acc0 += x00*cnj(y00) + x01*cnj(y01)
acc1 += x10*cnj(y10) + x11*cnj(y11)
acc2 += x20*cnj(y20) + x21*cnj(y21)
acc3 += x30*cnj(y30) + x31*cnj(y31)

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ybuff | Right input buffer of 16 elements of type cint16
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the ybuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mac4_nc() [3/3]

v4cacc48 mac4_nc | ( | v4cacc48 | acc,
|  | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

Complex multiply-accumulate intrinsic function with Y buffer conjugation .

acc0 += x00*cnj(y00) + x01*cnj(y01)
acc1 += x10*cnj(y10) + x11*cnj(y11)
acc2 += x20*cnj(y20) + x21*cnj(y21)
acc3 += x30*cnj(y30) + x31*cnj(y31)

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the xbuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mac8_nc() [1/3]

v8cacc48 mac8_nc | ( | v8cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | yoffsets )

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

acc0 += x00*cnj(y00)
acc1 += x10*cnj(y10)
acc2 += x20*cnj(y20)
acc3 += x30*cnj(y30)
acc4 += x40*cnj(y40)
acc5 += x50*cnj(y50)
acc6 += x60*cnj(y60)
acc7 += x70*cnj(y70)

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 in the xbuffer. LSB apply to first lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mac8_nc() [2/3]

v8cacc48 mac8_nc | ( | v8cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v16cint16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets )

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

acc0 += x00*cnj(y00)
acc1 += x10*cnj(y10)
acc2 += x20*cnj(y20)
acc3 += x30*cnj(y30)
acc4 += x40*cnj(y40)
acc5 += x50*cnj(y50)
acc6 += x60*cnj(y60)
acc7 += x70*cnj(y70)

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 in the xbuffer. LSB apply to first lane
  ybuff | Right input buffer of 16 elements of type cint16
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mac8_nc() [3/3]

v8cacc48 mac8_nc | ( | v8cacc48 | acc,
|  | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | yoffsets )

Complex multiply-accumulate intrinsic function with Y buffer conjugation .

acc0 += x00*cnj(y00)
acc1 += x10*cnj(y10)
acc2 += x20*cnj(y20)
acc3 += x30*cnj(y30)
acc4 += x40*cnj(y40)
acc5 += x50*cnj(y50)
acc6 += x60*cnj(y60)
acc7 += x70*cnj(y70)

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 in the xbuffer. LSB apply to first lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ msc4_nc() [1/3]

v4cacc48 msc4_nc | ( | v4cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

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

acc0 -= x00*cnj(y00) + x01*cnj(y01)
acc1 -= x10*cnj(y10) + x11*cnj(y11)
acc2 -= x20*cnj(y20) + x21*cnj(y21)
acc3 -= x30*cnj(y30) + x31*cnj(y31)

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the xbuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ msc4_nc() [2/3]

v4cacc48 msc4_nc | ( | v4cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v16cint16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

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

acc0 -= x00*cnj(y00) + x01*cnj(y01)
acc1 -= x10*cnj(y10) + x11*cnj(y11)
acc2 -= x20*cnj(y20) + x21*cnj(y21)
acc3 -= x30*cnj(y30) + x31*cnj(y31)

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ybuff | Right input buffer of 16 elements of type cint16
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the ybuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ msc4_nc() [3/3]

v4cacc48 msc4_nc | ( | v4cacc48 | acc,
|  | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

Complex multiply-subtract intrinsic function with Y buffer conjugation .

acc0 -= x00*cnj(y00) + x01*cnj(y01)
acc1 -= x10*cnj(y10) + x11*cnj(y11)
acc2 -= x20*cnj(y20) + x21*cnj(y21)
acc3 -= x30*cnj(y30) + x31*cnj(y31)

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the xbuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ msc8_nc() [1/3]

v8cacc48 msc8_nc | ( | v8cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | yoffsets )

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

acc0 -= x00*cnj(y00)
acc1 -= x10*cnj(y10)
acc2 -= x20*cnj(y20)
acc3 -= x30*cnj(y30)
acc4 -= x40*cnj(y40)
acc5 -= x50*cnj(y50)
acc6 -= x60*cnj(y60)
acc7 -= x70*cnj(y70)

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 in the xbuffer. LSB apply to first lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ msc8_nc() [2/3]

v8cacc48 msc8_nc | ( | v8cacc48 | acc,
|  | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v16cint16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets )

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

acc0 -= x00*cnj(y00)
acc1 -= x10*cnj(y10)
acc2 -= x20*cnj(y20)
acc3 -= x30*cnj(y30)
acc4 -= x40*cnj(y40)
acc5 -= x50*cnj(y50)
acc6 -= x60*cnj(y60)
acc7 -= x70*cnj(y70)

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 in the xbuffer. LSB apply to first lane
  ybuff | Right input buffer of 16 elements of type cint16
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ msc8_nc() [3/3]

v8cacc48 msc8_nc | ( | v8cacc48 | acc,
|  | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | yoffsets )

Complex multiply-subtract intrinsic function with Y buffer conjugation .

acc0 -= x00*cnj(y00)
acc1 -= x10*cnj(y10)
acc2 -= x20*cnj(y20)
acc3 -= x30*cnj(y30)
acc4 -= x40*cnj(y40)
acc5 -= x50*cnj(y50)
acc6 -= x60*cnj(y60)
acc7 -= x70*cnj(y70)

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 in the xbuffer. LSB apply to first lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mul4_nc() [1/3]

v4cacc48 mul4_nc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

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

acc0 = x00*cnj(y00) + x01*cnj(y01)
acc1 = x10*cnj(y10) + x11*cnj(y11)
acc2 = x20*cnj(y20) + x21*cnj(y21)
acc3 = x30*cnj(y30) + x31*cnj(y31)

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the xbuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mul4_nc() [2/3]

v4cacc48 mul4_nc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v16cint16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

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

acc0 = x00*cnj(y00) + x01*cnj(y01)
acc1 = x10*cnj(y10) + x11*cnj(y11)
acc2 = x20*cnj(y20) + x21*cnj(y21)
acc3 = x30*cnj(y30) + x31*cnj(y31)

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ybuff | Right input buffer of 16 elements of type cint16
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the ybuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mul4_nc() [3/3]

v4cacc48 mul4_nc | ( | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

Complex multiply intrinsic function with Y buffer conjugation .

acc0 = x00*cnj(y00) + x01*cnj(y01)
acc1 = x10*cnj(y10) + x11*cnj(y11)
acc2 = x20*cnj(y20) + x21*cnj(y21)
acc3 = x30*cnj(y30) + x31*cnj(y31)

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the xbuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mul8_nc() [1/3]

v8cacc48 mul8_nc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | yoffsets )

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

acc0 = x00*cnj(y00)
acc1 = x10*cnj(y10)
acc2 = x20*cnj(y20)
acc3 = x30*cnj(y30)
acc4 = x40*cnj(y40)
acc5 = x50*cnj(y50)
acc6 = x60*cnj(y60)
acc7 = x70*cnj(y70)

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 in the xbuffer. LSB apply to first lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mul8_nc() [2/3]

v8cacc48 mul8_nc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v16cint16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets )

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

acc0 = x00*cnj(y00)
acc1 = x10*cnj(y10)
acc2 = x20*cnj(y20)
acc3 = x30*cnj(y30)
acc4 = x40*cnj(y40)
acc5 = x50*cnj(y50)
acc6 = x60*cnj(y60)
acc7 = x70*cnj(y70)

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 in the xbuffer. LSB apply to first lane
  ybuff | Right input buffer of 16 elements of type cint16
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ mul8_nc() [3/3]

v8cacc48 mul8_nc | ( | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | yoffsets )

Complex multiply intrinsic function with Y buffer conjugation .

acc0 = x00*cnj(y00)
acc1 = x10*cnj(y10)
acc2 = x20*cnj(y20)
acc3 = x30*cnj(y30)
acc4 = x40*cnj(y40)
acc5 = x50*cnj(y50)
acc6 = x60*cnj(y60)
acc7 = x70*cnj(y70)

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 in the xbuffer. LSB apply to first lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ negmul4_nc() [1/3]

v4cacc48 negmul4_nc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

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

acc0 = -( x00*cnj(y00) + x01*cnj(y01) )
acc1 = -( x10*cnj(y10) + x11*cnj(y11) )
acc2 = -( x20*cnj(y20) + x21*cnj(y21) )
acc3 = -( x30*cnj(y30) + x31*cnj(y31) )

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the xbuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ negmul4_nc() [2/3]

v4cacc48 negmul4_nc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v16cint16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

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

acc0 = -( x00*cnj(y00) + x01*cnj(y01) )
acc1 = -( x10*cnj(y10) + x11*cnj(y11) )
acc2 = -( x20*cnj(y20) + x21*cnj(y21) )
acc3 = -( x30*cnj(y30) + x31*cnj(y31) )

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ybuff | Right input buffer of 16 elements of type cint16
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the ybuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ negmul4_nc() [3/3]

v4cacc48 negmul4_nc | ( | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | int | ystep )

Complex multiply-negate intrinsic function with Y buffer conjugation .

acc0 = -( x00*cnj(y00) + x01*cnj(y01) )
acc1 = -( x10*cnj(y10) + x11*cnj(y11) )
acc2 = -( x20*cnj(y20) + x21*cnj(y21) )
acc3 = -( x30*cnj(y30) + x31*cnj(y31) )

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 in the xbuffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane
  ystep | Step between each column for selection in the xbuffer

Note
  - For more information on how data selection works from the buffers go here.

## ◆ negmul8_nc() [1/3]

v8cacc48 negmul8_nc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | yoffsets )

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

acc0 = -( x00*cnj(y00) )
acc1 = -( x10*cnj(y10) )
acc2 = -( x20*cnj(y20) )
acc3 = -( x30*cnj(y30) )
acc4 = -( x40*cnj(y40) )
acc5 = -( x50*cnj(y50) )
acc6 = -( x60*cnj(y60) )
acc7 = -( x70*cnj(y70) )

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 in the xbuffer. LSB apply to first lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ negmul8_nc() [2/3]

v8cacc48 negmul8_nc | ( | v16cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | v16cint16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets )

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

acc0 = -( x00*cnj(y00) )
acc1 = -( x10*cnj(y10) )
acc2 = -( x20*cnj(y20) )
acc3 = -( x30*cnj(y30) )
acc4 = -( x40*cnj(y40) )
acc5 = -( x50*cnj(y50) )
acc6 = -( x60*cnj(y60) )
acc7 = -( x70*cnj(y70) )

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 in the xbuffer. LSB apply to first lane
  ybuff | Right input buffer of 16 elements of type cint16
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.

## ◆ negmul8_nc() [3/3]

v8cacc48 negmul8_nc | ( | v32cint16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | ystart,
|  | unsigned int | yoffsets )

Complex multiply-negate intrinsic function with Y buffer conjugation .

acc0 = -( x00*cnj(y00) )
acc1 = -( x10*cnj(y10) )
acc2 = -( x20*cnj(y20) )
acc3 = -( x30*cnj(y30) )
acc4 = -( x40*cnj(y40) )
acc5 = -( x50*cnj(y50) )
acc6 = -( x60*cnj(y60) )
acc7 = -( x70*cnj(y70) )

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 in the xbuffer. LSB apply to first lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane in the xbuffer. LSB apply to first lane

Note
  - For more information on how data selection works from the buffers go here.