🔬This is a nightly-only experimental API. (
stdsimd
#48556)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
- Mask only: return the bit mask
- For each character in
a
, find if it is inb
(Default) - The strings defined by
a
andb
are equal - Search for the defined substring in the target
- For each character in
a
, determine ifb[0] <= c <= b[1] or b[1] <= c <= b[2]...
- Index only: return the least significant bit (Default)
- Negates results only before the end of the string
- Do not negate results before the end of the string
- Index only: return the most significant bit
- Negates results
- Do not negate results (Default)
- String contains signed 8-bit characters
- String contains unsigned 16-bit characters
- String contains unsigned 8-bit characters (Default)
- Mask only: return the byte mask
- String contains unsigned 16-bit characters
Functions
- _mm_cmpestra⚠
sse4.2
Compares packed strings ina
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 ina
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 stringsa
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 ina
andb
with lengthsla
andlb
using the control inIMM8
, and return the generated mask. - _mm_cmpestro⚠
sse4.2
Compares packed strings ina
andb
with lengthsla
andlb
using the control inIMM8
, and return bit0
of the resulting bit mask. - _mm_cmpestrs⚠
sse4.2
Compares packed strings ina
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 ina
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 ina
andb
for greater-than, return the results. - _mm_cmpistra⚠
sse4.2
Compares packed strings with implicit lengths ina
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 ina
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 ina
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 ina
andb
using the control inIMM8
, and return the generated mask. - _mm_cmpistro⚠
sse4.2
Compares packed strings with implicit lengths ina
andb
using the control inIMM8
, and return bit0
of the resulting bit mask. - _mm_cmpistrs⚠
sse4.2
Compares packed strings with implicit lengths ina
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 ina
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 incrc
, return the accumulated CRC32-C value for unsigned 8-bit integerv
. - _mm_crc32_u16⚠
sse4.2
Starting with the initial value incrc
, return the accumulated CRC32-C value for unsigned 16-bit integerv
. - _mm_crc32_u32⚠
sse4.2
Starting with the initial value incrc
, return the accumulated CRC32-C value for unsigned 32-bit integerv
.