INNER CODE UNIT · C++

todo

soedinglab/plass · lib/flash/combine_reads.cpp:163

            int todo = min(len, 255 * 16) & ~0xf;
            len -= todo;

            do {

                /* Load 16 bases  */
                __m128i s1_v8 = _mm_loadu_si128((const __m128i *)seq_1);
                __m128i s2_v8 = _mm_loadu_si128((const __m128i *)seq_2);

                /* Load 16 quality scores  */
                __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));

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…