🔬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
aandbare 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.2Compares packed strings inaandbwith lengthslaandlbusing the control inIMM8, and return1ifbdid not contain a null character and the resulting mask was zero, and0otherwise. - _mm_cmpestrc⚠
sse4.2Compares packed strings inaandbwith lengthslaandlbusing the control inIMM8, and return1if the resulting mask was non-zero, and0otherwise. - _mm_cmpestri⚠
sse4.2Compares packed stringsaandbwith lengthslaandlbusing the control inIMM8and return the generated index. Similar to_mm_cmpistriwith the exception that_mm_cmpistriimplicitly determines the length ofaandb. - _mm_cmpestrm⚠
sse4.2Compares packed strings inaandbwith lengthslaandlbusing the control inIMM8, and return the generated mask. - _mm_cmpestro⚠
sse4.2Compares packed strings inaandbwith lengthslaandlbusing the control inIMM8, and return bit0of the resulting bit mask. - _mm_cmpestrs⚠
sse4.2Compares packed strings inaandbwith lengthslaandlbusing the control inIMM8, and return1if any character in a was null, and0otherwise. - _mm_cmpestrz⚠
sse4.2Compares packed strings inaandbwith lengthslaandlbusing the control inIMM8, and return1if any character inbwas null, and0otherwise. - _mm_cmpgt_epi64⚠
sse4.2Compares packed 64-bit integers inaandbfor greater-than, return the results. - _mm_cmpistra⚠
sse4.2Compares packed strings with implicit lengths inaandbusing the control inIMM8, and return1ifbdid not contain a null character and the resulting mask was zero, and0otherwise. - _mm_cmpistrc⚠
sse4.2Compares packed strings with implicit lengths inaandbusing the control inIMM8, and return1if the resulting mask was non-zero, and0otherwise. - _mm_cmpistri⚠
sse4.2Compares packed strings with implicit lengths inaandbusing the control inIMM8and return the generated index. Similar to_mm_cmpestriwith the exception that_mm_cmpestrirequires the lengths ofaandbto be explicitly specified. - _mm_cmpistrm⚠
sse4.2Compares packed strings with implicit lengths inaandbusing the control inIMM8, and return the generated mask. - _mm_cmpistro⚠
sse4.2Compares packed strings with implicit lengths inaandbusing the control inIMM8, and return bit0of the resulting bit mask. - _mm_cmpistrs⚠
sse4.2Compares packed strings with implicit lengths inaandbusing the control inIMM8, and returns1if any character inawas null, and0otherwise. - _mm_cmpistrz⚠
sse4.2Compares packed strings with implicit lengths inaandbusing the control inIMM8, and return1if any character inbwas null. and0otherwise. - _mm_crc32_u8⚠
sse4.2Starting with the initial value incrc, return the accumulated CRC32-C value for unsigned 8-bit integerv. - _mm_crc32_u16⚠
sse4.2Starting with the initial value incrc, return the accumulated CRC32-C value for unsigned 16-bit integerv. - _mm_crc32_u32⚠
sse4.2Starting with the initial value incrc, return the accumulated CRC32-C value for unsigned 32-bit integerv.