Instructions behind strlen
strlen

Versions

  • x86: sse2 - sse4.2 (avx?)
  • x86: avx2
  • x86: avx-512 (*)
  • arm: v7
  • arm: v8
  • emulation

headers

load(aligned_s)

what is avx-512 for us?

set 0

  • _mm*_setzero_si*
  • vdupq_n_u8
logicals

cur == zero

first_true = any + real_first_true
VC find

real first true

  • get bits
  • std::countr_zero
top_bits
movemask
top_bits arm-v8

any

Missed