1#ifndef SIMDJSON_RVV_VLS_BITMASK_H
2#define SIMDJSON_RVV_VLS_BITMASK_H
4#ifndef SIMDJSON_CONDITIONAL_INCLUDE
5#include "simdjson/rvv-vls/base.h"
6#include "simdjson/rvv-vls/intrinsics.h"
18simdjson_inline uint64_t prefix_xor(uint64_t bitmask) {
20 return __riscv_clmul_64(bitmask, ~(uint64_t)0);
22 return __riscv_vmv_x(__riscv_vclmul(__riscv_vmv_s_x_u64m1(bitmask, 1), ~(uint64_t)0, 1));
24 bitmask ^= bitmask << 1;
25 bitmask ^= bitmask << 2;
26 bitmask ^= bitmask << 4;
27 bitmask ^= bitmask << 8;
28 bitmask ^= bitmask << 16;
29 bitmask ^= bitmask << 32;
The top level simdjson namespace, containing everything the library provides.