So SSE4.2 has a lot of hard-to-understand instructions. Here is another explanation.
Compare packed strings in a and b with lengths la and lb using the control in imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise.
Compare packed strings in a and b with lengths la and lb using the control in imm8, and return the generated index. Note: if the mask is all zeroes, the returned index is always Count (8 or 16 depending on size).
Compare packed strings in a and b with lengths la and lb using the control in imm8, and return the generated mask.
Compare packed strings in a and b with lengths la and lb using the control in imm8, and returns bit 0 of the resulting bit mask.
Returns 1 if "any character in a was null", and 0 otherwise. Warning: what they mean is it returns 1 if the given length la is < Count.
Returns 1 if "any character in b was null", and 0 otherwise. Warning: what they mean is it returns 1 if the given length lb is < Count.
Compare packed signed 64-bit integers in a and b for greater-than.
Compare packed strings with implicit lengths in a and b using the control in imm8, and returns 1 if b did not contain a null character and the resulting mask was zero, and 0 otherwise.
Compare packed strings with implicit lengths in a and b using the control in imm8, and returns 1 if the resulting mask was non-zero, and 0 otherwise.
Compare packed strings with implicit lengths in a and b using the control in imm8 and return the generated index. Note: if the mask is all zeroes, the returned index is always Count (8 or 16 depending on size).
Compare packed strings with implicit lengths in a and b using the control in imm8, and return the generated mask.
Compare packed strings in a and b with lengths la and lb using the control in imm8, and returns bit 0 of the resulting bit mask.
Returns 1 if any character in a was null, and 0 otherwise.
Returns 1 if any character in b was null, and 0 otherwise.
Starting with the initial value in crc, accumulates a CR32 value for unsigned 16-bit integer v. Warning: this is computing CRC-32C (Castagnoli), not CRC-32.
Starting with the initial value in crc, accumulates a CRC32 value for unsigned 32-bit integer v. Warning: this is computing CRC-32C (Castagnoli), not CRC-32.
Starting with the initial value in crc, accumulates a CRC32 value for unsigned 64-bit integer v. Warning: this is computing CRC-32C (Castagnoli), not CRC-32.
Starting with the initial value in crc, accumulates a CRC32 value for unsigned 8-bit integer v. Warning: this is computing CRC-32C (Castagnoli), not CRC-32.
**Mask only**: return the bit mask (default).
For each character in b, find if it is in a (default) The resulting mask has bit set at b positions that were found in a.
The strings defined by a and b are equal
Search for the defined substring in the target
For each character in b, determine if a[0] <= c <= a[1] or a[1] <= c <= a[2]... Contrarily to false documentation on the Internet, pairs must be in a!
**Index only**: return the least significant bit (default).
Negates results only before the end of the string
No effect. Do not negate results before the end of the string. (default when using _SIDD_NEGATIVE_POLARITY) You basically never want this.
**Index only**: return the most significant bit.
Negates results
Do not negate results (default, no effect)
String contains signed 8-bit characters.
String contains signed 16-bit characters.
String contains unsigned 8-bit characters (default).
**Mask only**: return the byte/word mask.
String contains unsigned 16-bit characters.
SSE4.2 intrinsics. https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#techs=SSSE3