Instructions behind strlen
strlen
Versions
x86: sse2 - sse4.2 (avx?)
x86: avx2
x86: avx-512 (*)
arm: v7
arm: v8
emulation
headers
immintrin.h
arm_neon.h
load(aligned_s)
x86
arm
what is avx-512 for us?
set 0
_mm*_setzero_si*
vdupq_n_u8
logicals
cur == zero
_mm*_cmpeq_epi8
vceqq_u8
0x80 blog with avx512f
first_true = any + real_first_true
VC find
real first true
get bits
std::countr_zero
top_bits
movemask
top_bits arm-v8
any
top_bits
v8: vmaxvq_u32
v7:
any - v7
Missed
power pc
webassembly
arm: helium
arm: sve/sve2