| AI Engine Intrinsics User Guide (v2026.1)

Loading...
Searching...
No Matches
Functions
Integer
Intrinsics » Vector Operations » Vector Compares » Advanced » Vector comparison

## Overview

Integer vector comparison.

Performs the comparison between lanes (selected using the scheme) and return the result of the comparison as a bit in the return word.

## Functions
unsigned int | eq16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a equal to comparison between lanes of xbuff.
unsigned int | eq16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int32 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a equal to comparison between lanes of xbuff and ybuff.
unsigned int | eq16 (v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a equal to comparison between lanes of xbuff.
unsigned int | eq32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a equal to comparison between lanes of xbuff.
unsigned int | eq32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, v32int16 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a equal to comparison between lanes of xbuff and ybuff.
unsigned int | eq32 (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a equal to comparison between lanes of xbuff.
unsigned int | ge16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a greater than or equal to comparison between lanes of xbuff.
unsigned int | ge16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int32 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a greater than or equal to comparison between lanes of xbuff and ybuff.
unsigned int | ge16 (v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a greater than or equal to comparison between lanes of xbuff.
unsigned int | ge32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a greater than or equal to comparison between lanes of xbuff.
unsigned int | ge32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, v32int16 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a greater than or equal to comparison between lanes of xbuff and ybuff.
unsigned int | ge32 (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a greater than or equal to comparison between lanes of xbuff.
unsigned int | gt16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a greater than comparison between lanes of xbuff.
unsigned int | gt16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int32 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a greater than comparison between lanes of xbuff and ybuff.
unsigned int | gt16 (v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a greater than comparison between lanes of xbuff.
unsigned int | gt32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a greater than comparison between lanes of xbuff.
unsigned int | gt32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, v32int16 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a greater than comparison between lanes of xbuff and ybuff.
unsigned int | gt32 (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a greater than comparison between lanes of xbuff.
unsigned int | le16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a less than or equal to comparison between lanes of xbuff.
unsigned int | le16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int32 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a less than or equal to comparison between lanes of xbuff and ybuff.
unsigned int | le16 (v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a less than or equal to comparison between lanes of xbuff.
unsigned int | le32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a less than or equal to comparison between lanes of xbuff.
unsigned int | le32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, v32int16 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a less than or equal to comparison between lanes of xbuff and ybuff.
unsigned int | le32 (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a less than or equal to comparison between lanes of xbuff.
unsigned int | lt16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a less than comparison between lanes of xbuff.
unsigned int | lt16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int32 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a less than comparison between lanes of xbuff and ybuff.
unsigned int | lt16 (v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a less than comparison between lanes of xbuff.
unsigned int | lt32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a less than comparison between lanes of xbuff.
unsigned int | lt32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, v32int16 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a less than comparison between lanes of xbuff and ybuff.
unsigned int | lt32 (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a less than comparison between lanes of xbuff.
unsigned int | ne16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a not equal to comparison between lanes of xbuff.
unsigned int | ne16 (v16int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v16int32 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a not equal to comparison between lanes of xbuff and ybuff.
unsigned int | ne16 (v32int32 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi)
| Performs a not equal to comparison between lanes of xbuff.
unsigned int | ne32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a not equal to comparison between lanes of xbuff.
unsigned int | ne32 (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, v32int16 ybuff, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a not equal to comparison between lanes of xbuff and ybuff.
unsigned int | ne32 (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, unsigned int xsquare, int ystart, unsigned int yoffsets, unsigned int yoffsets_hi, unsigned int ysquare)
| Performs a not equal to comparison between lanes of xbuff.

## Function Documentation

## ◆ eq16() [1/3]

unsigned int eq16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a equal to comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] == x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.
v16int32
Definition me_chess.h:441
v32int16
Definition me_chess.h:440
xstart
v16float int xstart
Definition me_vfloat.h:5095
cmp
return cmp
Definition me_vfloat.h:5105

Returns
  Value of each bit is the result of a equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.

## ◆ eq16() [2/3]

unsigned int eq16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v16int32 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a equal to comparison between lanes of xbuff and ybuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] == y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ybuff | Input buffer of 16 elements with 32-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.

## ◆ eq16() [3/3]

unsigned int eq16 | ( | v32int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a equal to comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] == x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.

## ◆ eq32() [1/3]

unsigned int eq32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a equal to comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] == x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.

## ◆ eq32() [2/3]

unsigned int eq32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a equal to comparison between lanes of xbuff and ybuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] == y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ybuff | Input buffer of 32 elements with 16-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.

## ◆ eq32() [3/3]

unsigned int eq32 | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a equal to comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] == x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 64 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.

## ◆ ge16() [1/3]

unsigned int ge16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a greater than or equal to comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] >= x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ ge16() [2/3]

unsigned int ge16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v16int32 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a greater than or equal to comparison between lanes of xbuff and ybuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] >= y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ybuff | Input buffer of 16 elements with 32-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff is the left operand and data from ybuff is the right operand.

## ◆ ge16() [3/3]

unsigned int ge16 | ( | v32int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a greater than or equal to comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] >= x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ ge32() [1/3]

unsigned int ge32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a greater than or equal to comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] >= x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ ge32() [2/3]

unsigned int ge32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a greater than or equal to comparison between lanes of xbuff and ybuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] >= y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ybuff | Input buffer of 32 elements with 16-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff is the left operand and data from ybuff is the right operand.

## ◆ ge32() [3/3]

unsigned int ge32 | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a greater than or equal to comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] >= x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 64 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ gt16() [1/3]

unsigned int gt16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a greater than comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] > x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ gt16() [2/3]

unsigned int gt16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v16int32 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a greater than comparison between lanes of xbuff and ybuff.

Buffers x and y are swapped, so parameters (offsets, start, step) follow the rules accordingly.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] > y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ybuff | Input buffer of 16 elements with 32-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff is the left operand and data from ybuff is the right operand.

## ◆ gt16() [3/3]

unsigned int gt16 | ( | v32int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a greater than comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] > x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ gt32() [1/3]

unsigned int gt32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a greater than comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] > x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ gt32() [2/3]

unsigned int gt32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a greater than comparison between lanes of xbuff and ybuff.

Buffers x and y are swapped, so parameters (offsets, start, step) follow the rules accordingly.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] > y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ybuff | Input buffer of 32 elements with 16-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff is the left operand and data from ybuff is the right operand.

## ◆ gt32() [3/3]

unsigned int gt32 | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a greater than comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] > x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a greater than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 64 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ le16() [1/3]

unsigned int le16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a less than or equal to comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] <= x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ le16() [2/3]

unsigned int le16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v16int32 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a less than or equal to comparison between lanes of xbuff and ybuff.

Buffers x and y are swapped, so parameters (offsets, start, step) follow the rules accordingly.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] <= y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ybuff | Input buffer of 16 elements with 32-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff is the left operand and data from ybuff is the right operand.

## ◆ le16() [3/3]

unsigned int le16 | ( | v32int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a less than or equal to comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] <= x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ le32() [1/3]

unsigned int le32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a less than or equal to comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] <= x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ le32() [2/3]

unsigned int le32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a less than or equal to comparison between lanes of xbuff and ybuff.

Buffers x and y are swapped, so parameters (offsets, start, step) follow the rules accordingly.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] <= y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ybuff | Input buffer of 32 elements with 16-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff is the left operand and data from ybuff is the right operand.

## ◆ le32() [3/3]

unsigned int le32 | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a less than or equal to comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] <= x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than or equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 64 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ lt16() [1/3]

unsigned int lt16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a less than comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] < x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ lt16() [2/3]

unsigned int lt16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v16int32 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a less than comparison between lanes of xbuff and ybuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] < y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ybuff | Input buffer of 16 elements with 32-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff is the left operand and data from ybuff is the right operand.

## ◆ lt16() [3/3]

unsigned int lt16 | ( | v32int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a less than comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] < x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ lt32() [1/3]

unsigned int lt32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a less than comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] < x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ lt32() [2/3]

unsigned int lt32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a less than comparison between lanes of xbuff and ybuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] < y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ybuff | Input buffer of 32 elements with 16-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff is the left operand and data from ybuff is the right operand.

## ◆ lt32() [3/3]

unsigned int lt32 | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a less than comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] < x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a less than comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 64 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.
  - Data from xbuff using 'xstart','xoffsets(_hi)' params is the left operand and data from xbuff using 'ystart','yoffsets(_hi)' params is the right operand.

## ◆ ne16() [1/3]

unsigned int ne16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a not equal to comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] != x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a not equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.

## ◆ ne16() [2/3]

unsigned int ne16 | ( | v16int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v16int32 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a not equal to comparison between lanes of xbuff and ybuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] != y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a not equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 16 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ybuff | Input buffer of 16 elements with 32-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.

## ◆ ne16() [3/3]

unsigned int ne16 | ( | v32int32 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi )

Performs a not equal to comparison between lanes of xbuff.

for (int i = 0; i < 16; i++)
idx = f( xstart, xoffsets[i]);
idy = f( ystart, yoffsets[i]);
cmp[i-th bit] = x[idx] != x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0])
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7])
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a not equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 32-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 8th lane

Note
  - For more information on how the function f() selects data from the buffers go here.

## ◆ ne32() [1/3]

unsigned int ne32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a not equal to comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] != x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a not equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.

## ◆ ne32() [2/3]

unsigned int ne32 | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a not equal to comparison between lanes of xbuff and ybuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] != y[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a not equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 32 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ybuff | Input buffer of 32 elements with 16-bit precision
  ystart | Starting position offset applied to all lanes of input from ybuffer for the second input
  yoffsets | 4b offset for each lane, applied to the ybuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the ybuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.

## ◆ ne32() [3/3]

unsigned int ne32 | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | unsigned int | xsquare,
|  | int | ystart,
|  | unsigned int | yoffsets,
|  | unsigned int | yoffsets_hi,
|  | unsigned int | ysquare )

Performs a not equal to comparison between lanes of xbuff.

for (int i = 0; i < 32; i++)
idx = f( xstart, xoffsets[i],xsquare);
idy = f( ystart, yoffsets[i],ysquare);
cmp[i-th bit] = x[idx] != x[idy]
xoffsets, xoffsets_hi, yoffsets, yoffsets_hi have 8 offset values each. 4 bits per offset.
For Example: for v16int32 output type, idx for output_lane_0 = f(xstart,xoffsets[0],xsquare)
For Example: for v16int32 output type, idx for output_lane_15 = f(xstart,xoffsets_hi[7],xsquare)
In case of v32int16, 1 offset is used for 2 adjacent lanes.
For more information on how the function f() selects data from the buffers refer to Lane selection note below.

Returns
  Value of each bit is the result of a not equal to comparison between lanes of xbuff where the result of lane 0 goes to the LSB.

Parameters

  xbuff | Input buffer of 64 elements with 16-bit precision
  xstart | Starting position offset applied to all lanes of input from X buffer
  xoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  xsquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs to be less than 4. max value for this field is (0x3333)
  ystart | Starting position offset applied to all lanes of input from xbuffer for the second input
  yoffsets | 4b offset for each lane, applied to the xbuffer. LSB apply to first lane
  yoffsets_hi | 4b offset for each lane, applied to the xbuffer. LSB apply to 16th lane
  ysquare | Select order of the mini-permute square (default=0x3210). LSB apply to first element. Value per lane needs be less than 4. max value for this field is (0x3333)

Note
  - This intrinsic uses the 'square' parameter, to have more information on how to use this please go here
  - For more information on how the function f() selects data from the buffers go here.