Available on x86 or x86-64 only.
Expand description
Streaming SIMD Extensions 4.2 (SSE4.2)
Extends SSE4.1 with STTNI (String and Text New Instructions).
Constants§
- _SIDD_
BIT_ MASK - Mask only: return the bit mask
- _SIDD_
CMP_ EQUAL_ ANY - For each character in
a
, find if it is inb
(Default) - _SIDD_
CMP_ EQUAL_ EACH - The strings defined by
a
andb
are equal - _SIDD_
CMP_ EQUAL_ ORDERED - Search for the defined substring in the target
- _SIDD_
CMP_ RANGES - For each character in
a
, determine ifb[0] <= c <= b[1] or b[1] <= c <= b[2]...
- _SIDD_
LEAST_ SIGNIFICANT - Index only: return the least significant bit (Default)
- _SIDD_
MASKED_ NEGATIVE_ POLARITY - Negates results only before the end of the string
- _SIDD_
MASKED_ POSITIVE_ POLARITY - Do not negate results before the end of the string
- _SIDD_
MOST_ SIGNIFICANT - Index only: return the most significant bit
- _SIDD_
NEGATIVE_ POLARITY - Negates results
- _SIDD_
POSITIVE_ POLARITY - Do not negate results (Default)
- _SIDD_
SBYTE_ OPS - String contains signed 8-bit characters
- _SIDD_
SWORD_ OPS - String contains unsigned 16-bit characters
- _SIDD_
UBYTE_ OPS - String contains unsigned 8-bit characters (Default)
- _SIDD_
UNIT_ MASK - Mask only: return the byte mask
- _SIDD_
UWORD_ OPS - String contains unsigned 16-bit characters
Functions§
- _mm_
cmpestra ⚠sse4.2
- Compares packed strings in
a
andb
with lengthsla
andlb
using the control inIMM8
, and return1
ifb
did not contain a null character and the resulting mask was zero, and0
otherwise. - _mm_
cmpestrc ⚠sse4.2
- Compares packed strings in
a
andb
with lengthsla
andlb
using the control inIMM8
, and return1
if the resulting mask was non-zero, and0
otherwise. - _mm_
cmpestri ⚠sse4.2
- Compares packed strings
a
andb
with lengthsla
andlb
using the control inIMM8
and return the generated index. Similar to_mm_cmpistri
with the exception that_mm_cmpistri
implicitly determines the length ofa
andb
. - _mm_
cmpestrm ⚠sse4.2
- Compares packed strings in
a
andb
with lengthsla
andlb
using the control inIMM8
, and return the generated mask. - _mm_
cmpestro ⚠sse4.2
- Compares packed strings in
a
andb
with lengthsla
andlb
using the control inIMM8
, and return bit0
of the resulting bit mask. - _mm_
cmpestrs ⚠sse4.2
- Compares packed strings in
a
andb
with lengthsla
andlb
using the control inIMM8
, and return1
if any character in a was null, and0
otherwise. - _mm_
cmpestrz ⚠sse4.2
- Compares packed strings in
a
andb
with lengthsla
andlb
using the control inIMM8
, and return1
if any character inb
was null, and0
otherwise. - _mm_
cmpgt_ ⚠epi64 sse4.2
- Compares packed 64-bit integers in
a
andb
for greater-than, return the results. - _mm_
cmpistra ⚠sse4.2
- Compares packed strings with implicit lengths in
a
andb
using the control inIMM8
, and return1
ifb
did not contain a null character and the resulting mask was zero, and0
otherwise. - _mm_
cmpistrc ⚠sse4.2
- Compares packed strings with implicit lengths in
a
andb
using the control inIMM8
, and return1
if the resulting mask was non-zero, and0
otherwise. - _mm_
cmpistri ⚠sse4.2
- Compares packed strings with implicit lengths in
a
andb
using the control inIMM8
and return the generated index. Similar to_mm_cmpestri
with the exception that_mm_cmpestri
requires the lengths ofa
andb
to be explicitly specified. - _mm_
cmpistrm ⚠sse4.2
- Compares packed strings with implicit lengths in
a
andb
using the control inIMM8
, and return the generated mask. - _mm_
cmpistro ⚠sse4.2
- Compares packed strings with implicit lengths in
a
andb
using the control inIMM8
, and return bit0
of the resulting bit mask. - _mm_
cmpistrs ⚠sse4.2
- Compares packed strings with implicit lengths in
a
andb
using the control inIMM8
, and returns1
if any character ina
was null, and0
otherwise. - _mm_
cmpistrz ⚠sse4.2
- Compares packed strings with implicit lengths in
a
andb
using the control inIMM8
, and return1
if any character inb
was null. and0
otherwise. - _mm_
crc32_ ⚠u8 sse4.2
- Starting with the initial value in
crc
, return the accumulated CRC32-C value for unsigned 8-bit integerv
. - _mm_
crc32_ ⚠u16 sse4.2
- Starting with the initial value in
crc
, return the accumulated CRC32-C value for unsigned 16-bit integerv
. - _mm_
crc32_ ⚠u32 sse4.2
- Starting with the initial value in
crc
, return the accumulated CRC32-C value for unsigned 32-bit integerv
. - crc32_
32_ 🔒 ⚠8 - crc32_
32_ 🔒 ⚠16 - crc32_
32_ 🔒 ⚠32 - pcmpestri128 🔒 ⚠
- pcmpestria128 🔒 ⚠
- pcmpestric128 🔒 ⚠
- pcmpestrio128 🔒 ⚠
- pcmpestris128 🔒 ⚠
- pcmpestriz128 🔒 ⚠
- pcmpestrm128 🔒 ⚠
- pcmpistri128 🔒 ⚠
- pcmpistria128 🔒 ⚠
- pcmpistric128 🔒 ⚠
- pcmpistrio128 🔒 ⚠
- pcmpistris128 🔒 ⚠
- pcmpistriz128 🔒 ⚠
- pcmpistrm128 🔒 ⚠