How to get two strings char by char comparing table with SSE 4.2 intrinsics in C?
_mm_cmpistrm return mask of important bits, that is aggregating function on char by char comparing table processing result.
__m128i _mm_cmpistrm (
__m128i a,
__m128i b,
const int mode
);
How to extract char by char comparing table without any aggregating func invoking? (Maybe _SIDD_UNIT_MASK...)
example:
A T G A
A 1 0 0 1
G 0 0 1 0
T 0 1 0 0
C 0 0 0 0
This table I actually need.
result of _mm_cmpistrm (on certain mode Equal_each) is mask:
(0 1 1 1)
The SSE4.2 instructions do not return the intermediate table because there are not enough bits in an SSE register to hold all of the results. (They can if you are only searching for a few items but it is not generally true.) If you want the table you will need to search for each letter in the vertical column one at a time and build the table yourself. (sorry.)