simdjson 4.4.0
Ridiculously Fast JSON
Loading...
Searching...
No Matches
intrinsics.h
1#ifndef SIMDJSON_RVV_VLS_INTRINSICS_H
2#define SIMDJSON_RVV_VLS_INTRINSICS_H
3
4#ifndef SIMDJSON_CONDITIONAL_INCLUDE
5#include "simdjson/rvv-vls/base.h"
6#endif // SIMDJSON_CONDITIONAL_INCLUDE
7
8#include <riscv_vector.h>
9
10#define simdutf_vrgather_u8m1x2(tbl, idx) \
11 __riscv_vcreate_v_u8m1_u8m2( \
12 __riscv_vrgather_vv_u8m1(tbl, __riscv_vget_v_u8m2_u8m1(idx, 0), \
13 __riscv_vsetvlmax_e8m1()), \
14 __riscv_vrgather_vv_u8m1(tbl, __riscv_vget_v_u8m2_u8m1(idx, 1), \
15 __riscv_vsetvlmax_e8m1()))
16
17#define simdutf_vrgather_u8m1x4(tbl, idx) \
18 __riscv_vcreate_v_u8m1_u8m4( \
19 __riscv_vrgather_vv_u8m1(tbl, __riscv_vget_v_u8m4_u8m1(idx, 0), \
20 __riscv_vsetvlmax_e8m1()), \
21 __riscv_vrgather_vv_u8m1(tbl, __riscv_vget_v_u8m4_u8m1(idx, 1), \
22 __riscv_vsetvlmax_e8m1()), \
23 __riscv_vrgather_vv_u8m1(tbl, __riscv_vget_v_u8m4_u8m1(idx, 2), \
24 __riscv_vsetvlmax_e8m1()), \
25 __riscv_vrgather_vv_u8m1(tbl, __riscv_vget_v_u8m4_u8m1(idx, 3), \
26 __riscv_vsetvlmax_e8m1()))
27
28#if __riscv_zbc
29#include <riscv_bitmanip.h>
30#endif
31
32#endif // SIMDJSON_RVV_VLS_INTRINSICS_H