RISC-V: Add crypto vector builtin function.
This patch add the intrinsic funtions of crypto vector based on the intrinsic doc(https://github.com/riscv-non-isa/rvv-intrinsic-doc/blob /eopc/vector-crypto/auto-generated/vector-crypto/intrinsic_funcs.md). Co-Authored by: Songhe Zhu <zhusonghe@eswincomputing.com> Co-Authored by: Ciyan Pan <panciyan@eswincomputing.com> gcc/ChangeLog: * config/riscv/riscv-vector-builtins-bases.cc (class vandn): Add new function_base for crypto vector. (class bitmanip): Ditto. (class b_reverse):Ditto. (class vwsll): Ditto. (class clmul): Ditto. (class vg_nhab): Ditto. (class crypto_vv):Ditto. (class crypto_vi):Ditto. (class vaeskf2_vsm3c):Ditto. (class vsm3me): Ditto. (BASE): Add BASE declaration for crypto vector. * config/riscv/riscv-vector-builtins-bases.h: Ditto. * config/riscv/riscv-vector-builtins-functions.def (REQUIRED_EXTENSIONS): Add crypto vector intrinsic definition. (vbrev): Ditto. (vclz): Ditto. (vctz): Ditto. (vwsll): Ditto. (vandn): Ditto. (vbrev8): Ditto. (vrev8): Ditto. (vrol): Ditto. (vror): Ditto. (vclmul): Ditto. (vclmulh): Ditto. (vghsh): Ditto. (vgmul): Ditto. (vaesef): Ditto. (vaesem): Ditto. (vaesdf): Ditto. (vaesdm): Ditto. (vaesz): Ditto. (vaeskf1): Ditto. (vaeskf2): Ditto. (vsha2ms): Ditto. (vsha2ch): Ditto. (vsha2cl): Ditto. (vsm4k): Ditto. (vsm4r): Ditto. (vsm3me): Ditto. (vsm3c): Ditto. * config/riscv/riscv-vector-builtins-shapes.cc (struct crypto_vv_def): Add new function_shape for crypto vector. (struct crypto_vi_def): Ditto. (struct crypto_vv_no_op_type_def): Ditto. (SHAPE): Add SHAPE declaration of crypto vector. * config/riscv/riscv-vector-builtins-shapes.h: Ditto. * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_CRYPTO_SEW32_OPS): Add new data type for crypto vector. (DEF_RVV_CRYPTO_SEW64_OPS): Ditto. (vuint32mf2_t): Ditto. (vuint32m1_t): Ditto. (vuint32m2_t): Ditto. (vuint32m4_t): Ditto. (vuint32m8_t): Ditto. (vuint64m1_t): Ditto. (vuint64m2_t): Ditto. (vuint64m4_t): Ditto. (vuint64m8_t): Ditto. * config/riscv/riscv-vector-builtins.cc (DEF_RVV_CRYPTO_SEW32_OPS): Add new data struct for crypto vector. (DEF_RVV_CRYPTO_SEW64_OPS): Ditto. (registered_function::overloaded_hash): Processing size_t uimm for C overloaded func. * config/riscv/riscv-vector-builtins.def (vi): Add vi OP_TYPE.
Showing
- gcc/config/riscv/riscv-vector-builtins-bases.cc 263 additions, 1 deletiongcc/config/riscv/riscv-vector-builtins-bases.cc
- gcc/config/riscv/riscv-vector-builtins-bases.h 28 additions, 0 deletionsgcc/config/riscv/riscv-vector-builtins-bases.h
- gcc/config/riscv/riscv-vector-builtins-functions.def 94 additions, 0 deletionsgcc/config/riscv/riscv-vector-builtins-functions.def
- gcc/config/riscv/riscv-vector-builtins-shapes.cc 86 additions, 1 deletiongcc/config/riscv/riscv-vector-builtins-shapes.cc
- gcc/config/riscv/riscv-vector-builtins-shapes.h 4 additions, 0 deletionsgcc/config/riscv/riscv-vector-builtins-shapes.h
- gcc/config/riscv/riscv-vector-builtins-types.def 25 additions, 0 deletionsgcc/config/riscv/riscv-vector-builtins-types.def
- gcc/config/riscv/riscv-vector-builtins.cc 132 additions, 1 deletiongcc/config/riscv/riscv-vector-builtins.cc
- gcc/config/riscv/riscv-vector-builtins.def 1 addition, 0 deletionsgcc/config/riscv/riscv-vector-builtins.def
Loading
Please register or sign in to comment