Adding LoongArch SIMD to simdjson
simdjson is one of those libraries where every architecture is hand-tuned and
every intrinsic chosen on purpose. Adding a LoongArch LSX backend for
find_next_json_quotable_character wasn't really new code. It was
translating an idea that already lived, fluently, in NEON and SSE2.
the function
The string builder needs to know where the next "quotable" byte is: a
backslash, a quote, or a control byte below 0x20. Done one byte
at a time, that is a slow loop. Done with SIMD, it is one masked compare
across sixteen bytes at a time.
Full write-up coming. This is a stub.