Hi Pan,

+function_instance *
+function_base::get_non_overloaded_instance (unsigned int code,
+                                           vec<tree, va_gc> &arglist) const
+{
+  unsigned int code_limit = vec_safe_length (registered_functions);
+
+  for (unsigned fun_code = code; fun_code < code_limit; fun_code++)
+    {
+      registered_function *rfun = (*registered_functions)[fun_code];
+      function_instance instance = rfun->instance;
+
+      if (rfun->overloaded_p)
+       continue;
+
+      unsigned k;
+      const rvv_arg_type_info *args = instance.op_info->args;
+
+      for (k = 0; args[k].base_type != NUM_BASE_TYPES; k++)
+       {
+         if (k >= arglist.length ())
+           break;

Can we fast continue if args length not equal arglist length before this loop:

  if (args lengh != arglist.length ())
    continue;

  for (k = 0; args[k].base_type != NUM_BASE_TYPES; k++)
  {
    ...

--
Best,
Lehua

Reply via email to