libsimdpp  0.9.3
Operations: compare

Functions

mask_int8x16 simdpp::cmp_eq (basic_int8x16 a, basic_int8x16 b)
 Compares 8-bit values for equality. More...
 
mask_int8x32 simdpp::cmp_eq (basic_int8x32 a, basic_int8x32 b)
 
mask_int16x8 simdpp::cmp_eq (basic_int16x8 a, basic_int16x8 b)
 Compares 16-bit values for equality. More...
 
mask_int16x16 simdpp::cmp_eq (basic_int16x16 a, basic_int16x16 b)
 Compares 16-bit values for equality. More...
 
mask_int32x4 simdpp::cmp_eq (basic_int32x4 a, basic_int32x4 b)
 Compares the values of two int32x4 vectors for equality. More...
 
mask_int32x8 simdpp::cmp_eq (basic_int32x8 a, basic_int32x8 b)
 Compares the values of two int32x4 vectors for equality. More...
 
mask_int64x2 simdpp::cmp_eq (basic_int64x2 a, basic_int64x2 b)
 Compares the values of two int64x2 vectors for equality. More...
 
mask_int64x4 simdpp::cmp_eq (basic_int64x4 a, basic_int64x4 b)
 Compares the values of two int64x2 vectors for equality. More...
 
mask_float32x4 simdpp::cmp_eq (float32x4 a, float32x4 b)
 Compares the values of two float32x4 vectors for equality. More...
 
mask_float32x8 simdpp::cmp_eq (float32x8 a, float32x8 b)
 Compares the values of two float32x4 vectors for equality. More...
 
mask_float64x2 simdpp::cmp_eq (float64x2 a, float64x2 b)
 Compares the values of two float64x2 vectors for equality. More...
 
mask_float64x4 simdpp::cmp_eq (float64x4 a, float64x4 b)
 Compares the values of two float64x2 vectors for equality. More...
 
mask_int8x16 simdpp::cmp_neq (basic_int8x16 a, basic_int8x16 b)
 Compares the values of two int8x16 vectors for inequality. More...
 
mask_int8x32 simdpp::cmp_neq (basic_int8x32 a, basic_int8x32 b)
 Compares the values of two int8x16 vectors for inequality. More...
 
mask_int16x8 simdpp::cmp_neq (basic_int16x8 a, basic_int16x8 b)
 Compares the values of two int16x8 vectors for inequality. More...
 
mask_int16x16 simdpp::cmp_neq (basic_int16x16 a, basic_int16x16 b)
 Compares the values of two int16x8 vectors for inequality. More...
 
mask_int32x4 simdpp::cmp_neq (basic_int32x4 a, basic_int32x4 b)
 Compares the values of two int32x4 vectors for inequality. More...
 
mask_int32x8 simdpp::cmp_neq (basic_int32x8 a, basic_int32x8 b)
 Compares the values of two int32x4 vectors for inequality. More...
 
mask_int64x2 simdpp::cmp_neq (basic_int64x2 a, basic_int64x2 b)
 Compares the values of two int64x2 vectors for inequality. More...
 
mask_int64x4 simdpp::cmp_neq (basic_int64x4 a, basic_int64x4 b)
 Compares the values of two int64x2 vectors for inequality. More...
 
mask_float32x4 simdpp::cmp_neq (float32x4 a, float32x4 b)
 Compares the values of two float32x4 vectors for inequality. More...
 
mask_float32x8 simdpp::cmp_neq (float32x8 a, float32x8 b)
 Compares the values of two float32x4 vectors for inequality. More...
 
mask_float64x2 simdpp::cmp_neq (float64x2 a, float64x2 b)
 Compares the values of two float64x2 vectors for inequality. More...
 
mask_float64x4 simdpp::cmp_neq (float64x4 a, float64x4 b)
 Compares the values of two float64x2 vectors for inequality. More...
 
mask_int8x16 simdpp::cmp_gt (int8x16 a, int8x16 b)
 Compares the values of two signed int16x8 vectors for greater-than. More...
 
mask_int8x32 simdpp::cmp_gt (int8x32 a, int8x32 b)
 Compares the values of two signed int16x8 vectors for greater-than. More...
 
mask_int8x16 simdpp::cmp_gt (uint8x16 a, uint8x16 b)
 Compares the values of two unsigned int16x8 vectors for greater-than. More...
 
mask_int8x32 simdpp::cmp_gt (uint8x32 a, uint8x32 b)
 Compares the values of two unsigned int16x8 vectors for greater-than. More...
 
mask_int16x8 simdpp::cmp_gt (int16x8 a, int16x8 b)
 Compares the values of two signed int16x8 vectors for greater-than. More...
 
mask_int16x16 simdpp::cmp_gt (int16x16 a, int16x16 b)
 Compares the values of two signed int16x8 vectors for greater-than. More...
 
mask_int16x8 simdpp::cmp_gt (uint16x8 a, uint16x8 b)
 Compares the values of two unsigned int16x8 vectors for greater-than. More...
 
mask_int16x16 simdpp::cmp_gt (uint16x16 a, uint16x16 b)
 Compares the values of two unsigned int16x8 vectors for greater-than. More...
 
mask_int32x4 simdpp::cmp_gt (int32x4 a, int32x4 b)
 Compares the values of two signed int32x4 vectors for greater-than. More...
 
mask_int32x8 simdpp::cmp_gt (int32x8 a, int32x8 b)
 Compares the values of two signed int32x4 vectors for greater-than. More...
 
mask_int32x4 simdpp::cmp_gt (uint32x4 a, uint32x4 b)
 Compares the values of two unsigned int32x4 vectors for greater-than. More...
 
mask_int32x8 simdpp::cmp_gt (uint32x8 a, uint32x8 b)
 Compares the values of two unsigned int32x4 vectors for greater-than. More...
 
mask_float32x4 simdpp::cmp_gt (float32x4 a, float32x4 b)
 Compares the values of two float32x4 vectors for greater-than. More...
 
mask_float32x8 simdpp::cmp_gt (float32x8 a, float32x8 b)
 Compares the values of two float32x4 vectors for greater-than. More...
 

Detailed Description

Function Documentation

mask_int8x16 simdpp::cmp_eq ( basic_int8x16  a,
basic_int8x16  b 
)
inline

Compares 8-bit values for equality.

r0 = (a0 == b0) ? 0xff : 0x0
...
rN = (aN == bN) ? 0xff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int8x32 simdpp::cmp_eq ( basic_int8x32  a,
basic_int8x32  b 
)
inline
mask_int16x8 simdpp::cmp_eq ( basic_int16x8  a,
basic_int16x8  b 
)
inline

Compares 16-bit values for equality.

r0 = (a0 == b0) ? 0xffff : 0x0
...
rN = (aN == bN) ? 0xffff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int16x16 simdpp::cmp_eq ( basic_int16x16  a,
basic_int16x16  b 
)
inline

Compares 16-bit values for equality.

r0 = (a0 == b0) ? 0xffff : 0x0
...
rN = (aN == bN) ? 0xffff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int32x4 simdpp::cmp_eq ( basic_int32x4  a,
basic_int32x4  b 
)
inline

Compares the values of two int32x4 vectors for equality.

r0 = (a0 == b0) ? 0xffffffff : 0x0
...
rN = (aN == bN) ? 0xffffffff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int32x8 simdpp::cmp_eq ( basic_int32x8  a,
basic_int32x8  b 
)
inline

Compares the values of two int32x4 vectors for equality.

r0 = (a0 == b0) ? 0xffffffff : 0x0
...
rN = (aN == bN) ? 0xffffffff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int64x2 simdpp::cmp_eq ( basic_int64x2  a,
basic_int64x2  b 
)
inline

Compares the values of two int64x2 vectors for equality.

r0 = (a0 == b0) ? 0xffffffffffffffff : 0x0
...
rN = (aN == bN) ? 0xffffffffffffffff : 0x0
128-bit version:
  • In SSE2-SSSE3 this intrinsic results in at least 5 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
  • In ALTIVEC this intrinsic results in at least 3-4 instructions.
256-bit version:
  • In SSE2-SSSE3 and AVX this intrinsic results in at least 10 instructions.
  • In XOP, SSE4.1 and NEON this intrinsic results in at least 2 instructions.
  • In ALTIVEC this intrinsic results in at least 6-7 instructions.
mask_int64x4 simdpp::cmp_eq ( basic_int64x4  a,
basic_int64x4  b 
)
inline

Compares the values of two int64x2 vectors for equality.

r0 = (a0 == b0) ? 0xffffffffffffffff : 0x0
...
rN = (aN == bN) ? 0xffffffffffffffff : 0x0
128-bit version:
  • In SSE2-SSSE3 this intrinsic results in at least 5 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
  • In ALTIVEC this intrinsic results in at least 3-4 instructions.
256-bit version:
  • In SSE2-SSSE3 and AVX this intrinsic results in at least 10 instructions.
  • In XOP, SSE4.1 and NEON this intrinsic results in at least 2 instructions.
  • In ALTIVEC this intrinsic results in at least 6-7 instructions.
mask_float32x4 simdpp::cmp_eq ( float32x4  a,
float32x4  b 
)
inline

Compares the values of two float32x4 vectors for equality.

r0 = (a0 == b0) ? 0xffffffff : 0x0
...
rN = (aN == bN) ? 0xffffffff : 0x0
256-bit version:
  • In SSE2-SSE4.1, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_float32x8 simdpp::cmp_eq ( float32x8  a,
float32x8  b 
)
inline

Compares the values of two float32x4 vectors for equality.

r0 = (a0 == b0) ? 0xffffffff : 0x0
...
rN = (aN == bN) ? 0xffffffff : 0x0
256-bit version:
  • In SSE2-SSE4.1, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_float64x2 simdpp::cmp_eq ( float64x2  a,
float64x2  b 
)
inline

Compares the values of two float64x2 vectors for equality.

r0 = (a0 == b0) ? 0xffffffffffffffff : 0x0
...
rN = (aN == bN) ? 0xffffffffffffffff : 0x0
128-bit version:
  • Not vectorized in NEON and .
256-bit version:
  • Not vectorized in NEON and .
  • In SSE2-SSE4.1 this intrinsic results in at least 2 instructions.
mask_float64x4 simdpp::cmp_eq ( float64x4  a,
float64x4  b 
)
inline

Compares the values of two float64x2 vectors for equality.

r0 = (a0 == b0) ? 0xffffffffffffffff : 0x0
...
rN = (aN == bN) ? 0xffffffffffffffff : 0x0
128-bit version:
  • Not vectorized in NEON and .
256-bit version:
  • Not vectorized in NEON and .
  • In SSE2-SSE4.1 this intrinsic results in at least 2 instructions.
mask_int8x16 simdpp::cmp_gt ( int8x16  a,
int8x16  b 
)
inline

Compares the values of two signed int16x8 vectors for greater-than.

r0 = (a0 > b0) ? 0xff : 0x0
...
rN = (aN > bN) ? 0xff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int8x32 simdpp::cmp_gt ( int8x32  a,
int8x32  b 
)
inline

Compares the values of two signed int16x8 vectors for greater-than.

r0 = (a0 > b0) ? 0xff : 0x0
...
rN = (aN > bN) ? 0xff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int8x16 simdpp::cmp_gt ( uint8x16  a,
uint8x16  b 
)
inline

Compares the values of two unsigned int16x8 vectors for greater-than.

r0 = (a0 > b0) ? 0xff : 0x0
...
rN = (aN > bN) ? 0xff : 0x0
128-bit version:
  • In SSE2-AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version:
  • In SSE2-AVX this intrinsic results in at least 6-7 instructions.
  • In AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP this intrinsic results in at least 2 instructions.
  • In NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int8x32 simdpp::cmp_gt ( uint8x32  a,
uint8x32  b 
)
inline

Compares the values of two unsigned int16x8 vectors for greater-than.

r0 = (a0 > b0) ? 0xff : 0x0
...
rN = (aN > bN) ? 0xff : 0x0
128-bit version:
  • In SSE2-AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version:
  • In SSE2-AVX this intrinsic results in at least 6-7 instructions.
  • In AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP this intrinsic results in at least 2 instructions.
  • In NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int16x8 simdpp::cmp_gt ( int16x8  a,
int16x8  b 
)
inline

Compares the values of two signed int16x8 vectors for greater-than.

r0 = (a0 > b0) ? 0xffff : 0x0
...
rN = (aN > bN) ? 0xffff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int16x16 simdpp::cmp_gt ( int16x16  a,
int16x16  b 
)
inline

Compares the values of two signed int16x8 vectors for greater-than.

r0 = (a0 > b0) ? 0xffff : 0x0
...
rN = (aN > bN) ? 0xffff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int16x8 simdpp::cmp_gt ( uint16x8  a,
uint16x8  b 
)
inline

Compares the values of two unsigned int16x8 vectors for greater-than.

r0 = (a0 > b0) ? 0xffff : 0x0
...
rN = (aN > bN) ? 0xffff : 0x0
128-bit version:
  • In SSE2-AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version:
  • In SSE2-AVX this intrinsic results in at least 6-7 instructions.
  • In AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int16x16 simdpp::cmp_gt ( uint16x16  a,
uint16x16  b 
)
inline

Compares the values of two unsigned int16x8 vectors for greater-than.

r0 = (a0 > b0) ? 0xffff : 0x0
...
rN = (aN > bN) ? 0xffff : 0x0
128-bit version:
  • In SSE2-AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version:
  • In SSE2-AVX this intrinsic results in at least 6-7 instructions.
  • In AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int32x4 simdpp::cmp_gt ( int32x4  a,
int32x4  b 
)
inline

Compares the values of two signed int32x4 vectors for greater-than.

r0 = (a0 > b0) ? 0xffffffff : 0x0
...
rN = (aN > bN) ? 0xffffffff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int32x8 simdpp::cmp_gt ( int32x8  a,
int32x8  b 
)
inline

Compares the values of two signed int32x4 vectors for greater-than.

r0 = (a0 > b0) ? 0xffffffff : 0x0
...
rN = (aN > bN) ? 0xffffffff : 0x0
256-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int32x4 simdpp::cmp_gt ( uint32x4  a,
uint32x4  b 
)
inline

Compares the values of two unsigned int32x4 vectors for greater-than.

r0 = (a0 > b0) ? 0xffffffff : 0x0
...
rN = (aN > bN) ? 0xffffffff : 0x0
128-bit version:
  • In SSE2-AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version:
  • In SSE2-AVX this intrinsic results in at least 6-7 instructions.
  • In AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int32x8 simdpp::cmp_gt ( uint32x8  a,
uint32x8  b 
)
inline

Compares the values of two unsigned int32x4 vectors for greater-than.

r0 = (a0 > b0) ? 0xffffffff : 0x0
...
rN = (aN > bN) ? 0xffffffff : 0x0
128-bit version:
  • In SSE2-AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version:
  • In SSE2-AVX this intrinsic results in at least 6-7 instructions.
  • In AVX2 this intrinsic results in at least 3-4 instructions.
  • In XOP, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_float32x4 simdpp::cmp_gt ( float32x4  a,
float32x4  b 
)
inline

Compares the values of two float32x4 vectors for greater-than.

r0 = (a0 > b0) ? 0xffffffff : 0x0
...
rN = (aN > bN) ? 0xffffffff : 0x0
256-bit version:
  • In SSE2-SSE4.1, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_float32x8 simdpp::cmp_gt ( float32x8  a,
float32x8  b 
)
inline

Compares the values of two float32x4 vectors for greater-than.

r0 = (a0 > b0) ? 0xffffffff : 0x0
...
rN = (aN > bN) ? 0xffffffff : 0x0
256-bit version:
  • In SSE2-SSE4.1, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
mask_int8x16 simdpp::cmp_neq ( basic_int8x16  a,
basic_int8x16  b 
)
inline

Compares the values of two int8x16 vectors for inequality.

r0 = (a0 != b0) ? 0xff : 0x0
...
rN = (aN != bN) ? 0xff : 0x0
128-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 4 instructions.
  • In AVX2 this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 2 instructions.
mask_int8x32 simdpp::cmp_neq ( basic_int8x32  a,
basic_int8x32  b 
)
inline

Compares the values of two int8x16 vectors for inequality.

r0 = (a0 != b0) ? 0xff : 0x0
...
rN = (aN != bN) ? 0xff : 0x0
128-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 4 instructions.
  • In AVX2 this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 2 instructions.
mask_int16x8 simdpp::cmp_neq ( basic_int16x8  a,
basic_int16x8  b 
)
inline

Compares the values of two int16x8 vectors for inequality.

r0 = (a0 != b0) ? 0xffff : 0x0
...
rN = (aN != bN) ? 0xffff : 0x0
128-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 4 instructions.
  • In AVX2 this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 2 instructions.
mask_int16x16 simdpp::cmp_neq ( basic_int16x16  a,
basic_int16x16  b 
)
inline

Compares the values of two int16x8 vectors for inequality.

r0 = (a0 != b0) ? 0xffff : 0x0
...
rN = (aN != bN) ? 0xffff : 0x0
128-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 4 instructions.
  • In AVX2 this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 2 instructions.
mask_int32x4 simdpp::cmp_neq ( basic_int32x4  a,
basic_int32x4  b 
)
inline

Compares the values of two int32x4 vectors for inequality.

r0 = (a0 != b0) ? 0xffffffff : 0x0
...
rN = (aN != bN) ? 0xffffffff : 0x0
128-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 4 instructions.
  • In AVX2 this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 2 instructions.
mask_int32x8 simdpp::cmp_neq ( basic_int32x8  a,
basic_int32x8  b 
)
inline

Compares the values of two int32x4 vectors for inequality.

r0 = (a0 != b0) ? 0xffffffff : 0x0
...
rN = (aN != bN) ? 0xffffffff : 0x0
128-bit version:
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
256-bit version
  • In SSE2-AVX, NEON and ALTIVEC this intrinsic results in at least 4 instructions.
  • In AVX2 this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 2 instructions.
mask_int64x2 simdpp::cmp_neq ( basic_int64x2  a,
basic_int64x2  b 
)
inline

Compares the values of two int64x2 vectors for inequality.

r0 = (a0 != b0) ? 0xffffffffffffffff : 0x0
...
rN = (aN != bN) ? 0xffffffffffffffff : 0x0
128-bit version:
  • In SSE2-SSSE3 this intrinsic results in at least 5 instructions.
  • In SSE4.1, AVX and NEON this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
  • In ALTIVEC this intrinsic results in at least 3-5 instructions.
256-bit version:
  • In SSE2-SSSE3 and AVX this intrinsic results in at least 10 instructions.
  • In SSE4.1 and NEON this intrinsic results in at least 4 instructions.
  • In AVX2 and XOP this intrinsic results in at least 2 instructions.
  • In ALTIVEC this intrinsic results in at least 6-8 instructions.
mask_int64x4 simdpp::cmp_neq ( basic_int64x4  a,
basic_int64x4  b 
)
inline

Compares the values of two int64x2 vectors for inequality.

r0 = (a0 != b0) ? 0xffffffffffffffff : 0x0
...
rN = (aN != bN) ? 0xffffffffffffffff : 0x0
128-bit version:
  • In SSE2-SSSE3 this intrinsic results in at least 5 instructions.
  • In SSE4.1, AVX and NEON this intrinsic results in at least 2 instructions.
  • In XOP this intrinsic results in at least 1 instructions.
  • In ALTIVEC this intrinsic results in at least 3-5 instructions.
256-bit version:
  • In SSE2-SSSE3 and AVX this intrinsic results in at least 10 instructions.
  • In SSE4.1 and NEON this intrinsic results in at least 4 instructions.
  • In AVX2 and XOP this intrinsic results in at least 2 instructions.
  • In ALTIVEC this intrinsic results in at least 6-8 instructions.
mask_float32x4 simdpp::cmp_neq ( float32x4  a,
float32x4  b 
)
inline

Compares the values of two float32x4 vectors for inequality.

r0 = (a0 != b0) ? 0xffffffff : 0x0
...
rN = (aN != bN) ? 0xffffffff : 0x0
128-bit version:
  • In NEON and ALTIVEC this intrinsic results in at least 2 instructions.
256-bit version
  • In SSE2-SSE4.1 this intrinsic results in at least 2 instructions.
  • In NEON and ALTIVEC this intrinsic results in at least 4 instructions.
mask_float32x8 simdpp::cmp_neq ( float32x8  a,
float32x8  b 
)
inline

Compares the values of two float32x4 vectors for inequality.

r0 = (a0 != b0) ? 0xffffffff : 0x0
...
rN = (aN != bN) ? 0xffffffff : 0x0
128-bit version:
  • In NEON and ALTIVEC this intrinsic results in at least 2 instructions.
256-bit version
  • In SSE2-SSE4.1 this intrinsic results in at least 2 instructions.
  • In NEON and ALTIVEC this intrinsic results in at least 4 instructions.
mask_float64x2 simdpp::cmp_neq ( float64x2  a,
float64x2  b 
)
inline

Compares the values of two float64x2 vectors for inequality.

r0 = (a0 != b0) ? 0xffffffffffffffff : 0x0
...
rN = (aN != bN) ? 0xffffffffffffffff : 0x0
128-bit version:
  • Not vectorized in NEON and .
256-bit version:
  • Not vectorized in NEON and .
  • In SSE2-SSE4.1 this intrinsic results in at least 2 instructions.
mask_float64x4 simdpp::cmp_neq ( float64x4  a,
float64x4  b 
)
inline

Compares the values of two float64x2 vectors for inequality.

r0 = (a0 != b0) ? 0xffffffffffffffff : 0x0
...
rN = (aN != bN) ? 0xffffffffffffffff : 0x0
128-bit version:
  • Not vectorized in NEON and .
256-bit version:
  • Not vectorized in NEON and .
  • In SSE2-SSE4.1 this intrinsic results in at least 2 instructions.