From: Third international conference “Bioinformatics: from Algorithms to Applications” (BiATA 2019)
// obtaining match_mask by comparing pattern_vec vs text_vec: 0 = match, 1 = mismatch match_mask = _mm256_cmpneq_epi8_mask(pattern_vec, text_vec); // combing braid at frontier frontier_h2 = _mm512_mask_min_epu16(frontier_v1, match_mask, frontier_v1, frontier_h1); frontier_v2 = _mm512_mask_max_epu16(frontier_h1, match_mask, frontier_v1, frontier_h1); |