INNER CODE UNIT · C++
q1_v8
soedinglab/plass · lib/flash/combine_reads.cpp:173
__m128i q1_v8 = _mm_loadu_si128((const __m128i *)qual_1);
__m128i q2_v8 = _mm_loadu_si128((const __m128i *)qual_2);
/* Compare bases with each other and negate the
* result. This will produce 0xff in bytes
* where the bases differ and 0x00 in bytes
* where the bases were the same. */
__m128i cmpresult = simde_x_mm_not_si128(_mm_cmpeq_epi8(s1_v8, s2_v8));
/* Tally mismatched bases. Subtracting 0x00 and
* 0xff is equivalent to adding 0 and 1,
* respectively. */
num_mismatches_v8 = _mm_sub_epi8(num_mismatches_v8,
cmpresult);
/* Tally quality scores for mismatched bases.
*/