2023-12-13 18:18 juzhe.zhong <juzhe.zh...@rivai.ai> wrote: > > >+ multiple_p (GET_MODE_BITSIZE (e.arg_mode (0)), >+ GET_MODE_BITSIZE (e.arg_mode (1)), &nunits); > >Change it into gcc_assert (multiple_p (...)) > >+/* A list of all Vector Crypto intrinsic functions. */ >+static function_group_info cryoto_function_groups[] = { >+#define DEF_RVV_FUNCTION(NAME, SHAPE, PREDS, OPS_INFO, AVAIL) \ >+ {#NAME, &bases::NAME, &shapes::SHAPE, PREDS, OPS_INFO,\ >+ riscv_vector_avail_ ## AVAIL}, >+#include "riscv-vector-crypto-builtins-functions.def" >+}; >Why do you add this ? I think it should belong to function_groups.
The original intention of this modification was to make the processing flow of the crypto vector more clearer. If you think it should merge into V extension, I will do it. Thanks. Feng Wang > >+ /* Dfine the crypto vector builtin functions. */ >+ for (unsigned int i = 0; i < ARRAY_SIZE (cryoto_function_groups); ++i) >+ { >+ function_group_info *f = &cryoto_function_groups[i]; >+ if (f->avail && f->avail ()) >+ builder.register_function_group (cryoto_function_groups[i]); >+ } > > >I think it should be: > >for (unsigned int i = 0; i < ARRAY_SIZE (function_groups); ++i) > if (avail) > builder.register_function_group (function_groups[i]); > > > > >juzhe.zh...@rivai.ai >