Qiita に UTF-8のコードポイントはどうやって高速に数えるかという記事がありました。コードを眺めながらもっと速くなるんじゃないのと思ったので、やってみようと思います。 元のコードはこうなっています。 inline int32_t avx2_horizontal_sum_epi8(__m256i x) { __m256i sumhi = _mm256_unpackhi_epi8(x, _mm256_setzero_si256()); __m256i sumlo = _mm256_unpacklo_epi8(x, _mm256_setzero_si256()); __m256i sum16x16 = _mm256_add_epi16(sumhi, sumlo); __m256i sum16x8 = _mm256_add_epi16(sum16x16, _mm256_permute2x1