Loading...
Searching...
No Matches
volk_rvv_intrinsics.h File Reference
`#include <riscv_vector.h>`

Go to the source code of this file.

## Macros

#define | RISCV_SHRINK2(op, T, S, v)
#define | RISCV_SHRINK4(op, T, S, v)
#define | RISCV_SHRINK8(op, T, S, v)
#define | RISCV_PERM4(f, v, vidx)
#define | RISCV_LUT4(f, vtbl, v)
#define | RISCV_PERM8(f, v, vidx)
#define | RISCV_VMFLTZ(T, v, vl)

## Functions

static vfloat32m2_t | __riscv_vlog2_poly_f32m2 (vfloat32m2_t x, size_t vl, size_t vlmax)

## Macro Definition Documentation

## RISCV_LUT4

#define RISCV_LUT4 | ( |  | f,
|  |  | vtbl,
|  |  | v )

Value:
__riscv_vcreate_v_u8m1_u8m4( \
f(vtbl, __riscv_vget_u8m1(v, 0), __riscv_vsetvlmax_e8m1()), \
f(vtbl, __riscv_vget_u8m1(v, 1), __riscv_vsetvlmax_e8m1()), \
f(vtbl, __riscv_vget_u8m1(v, 2), __riscv_vsetvlmax_e8m1()), \
f(vtbl, __riscv_vget_u8m1(v, 3), __riscv_vsetvlmax_e8m1()))

## RISCV_PERM4

#define RISCV_PERM4 | ( |  | f,
|  |  | v,
|  |  | vidx )

Value:
__riscv_vcreate_v_u8m1_u8m4( \
f(__riscv_vget_u8m1(v, 0), vidx, __riscv_vsetvlmax_e8m1()), \
f(__riscv_vget_u8m1(v, 1), vidx, __riscv_vsetvlmax_e8m1()), \
f(__riscv_vget_u8m1(v, 2), vidx, __riscv_vsetvlmax_e8m1()), \
f(__riscv_vget_u8m1(v, 3), vidx, __riscv_vsetvlmax_e8m1()))

## RISCV_PERM8

#define RISCV_PERM8 | ( |  | f,
|  |  | v,
|  |  | vidx )

Value:
__riscv_vcreate_v_u8m1_u8m8( \
f(__riscv_vget_u8m1(v, 0), vidx, __riscv_vsetvlmax_e8m1()), \
f(__riscv_vget_u8m1(v, 1), vidx, __riscv_vsetvlmax_e8m1()), \
f(__riscv_vget_u8m1(v, 2), vidx, __riscv_vsetvlmax_e8m1()), \
f(__riscv_vget_u8m1(v, 3), vidx, __riscv_vsetvlmax_e8m1()), \
f(__riscv_vget_u8m1(v, 4), vidx, __riscv_vsetvlmax_e8m1()), \
f(__riscv_vget_u8m1(v, 5), vidx, __riscv_vsetvlmax_e8m1()), \
f(__riscv_vget_u8m1(v, 6), vidx, __riscv_vsetvlmax_e8m1()), \
f(__riscv_vget_u8m1(v, 7), vidx, __riscv_vsetvlmax_e8m1()))

## RISCV_SHRINK2

#define RISCV_SHRINK2 | ( |  | op,
|  |  | T,
|  |  | S,
|  |  | v )

Value:
__riscv_##op(__riscv_vget_##T##S##m1(v, 0), \
__riscv_vget_##T##S##m1(v, 1), \
__riscv_vsetvlmax_e##S##m1())

## RISCV_SHRINK4

#define RISCV_SHRINK4 | ( |  | op,
|  |  | T,
|  |  | S,
|  |  | v )

Value:
__riscv_##op(__riscv_##op(__riscv_vget_##T##S##m1(v, 0), \
__riscv_vget_##T##S##m1(v, 1), \
__riscv_vsetvlmax_e##S##m1()), \
__riscv_##op(__riscv_vget_##T##S##m1(v, 2), \
__riscv_vget_##T##S##m1(v, 3), \
__riscv_vsetvlmax_e##S##m1()), \
__riscv_vsetvlmax_e##S##m1())

## RISCV_SHRINK8

#define RISCV_SHRINK8 | ( |  | op,
|  |  | T,
|  |  | S,
|  |  | v )

Value:
__riscv_##op(__riscv_##op(__riscv_##op(__riscv_vget_##T##S##m1(v, 0), \
__riscv_vget_##T##S##m1(v, 1), \
__riscv_vsetvlmax_e##S##m1()), \
__riscv_##op(__riscv_vget_##T##S##m1(v, 2), \
__riscv_vget_##T##S##m1(v, 3), \
__riscv_vsetvlmax_e##S##m1()), \
__riscv_vsetvlmax_e##S##m1()), \
__riscv_##op(__riscv_##op(__riscv_vget_##T##S##m1(v, 4), \
__riscv_vget_##T##S##m1(v, 5), \
__riscv_vsetvlmax_e##S##m1()), \
__riscv_##op(__riscv_vget_##T##S##m1(v, 6), \
__riscv_vget_##T##S##m1(v, 7), \
__riscv_vsetvlmax_e##S##m1()), \
__riscv_vsetvlmax_e##S##m1()), \
__riscv_vsetvlmax_e##S##m1())

## RISCV_VMFLTZ

#define RISCV_VMFLTZ | ( |  | T,
|  |  | v,
|  |  | vl )

Value:
__riscv_vmslt(__riscv_vreinterpret_i##T(v), 0, vl)

## Function Documentation

## __riscv_vlog2_poly_f32m2()

vfloat32m2_t __riscv_vlog2_poly_f32m2 | ( | vfloat32m2_t | x,
|  | size_t | vl,
|  | size_t | vlmax )

inline static