Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 2 additions & 10 deletions auto-generated/overloaded_intrinsic_funcs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38828,19 +38828,11 @@ vbool64_t __riscv_vmsof(vbool64_t vm, vbool64_t vs2, size_t vl);

[[overloaded-vector-iota]]
==== Vector Iota Intrinsics

[,c]
----
// masked functions
----
Intrinsics here don't have an overloaded variant.

[[overloaded-vector-element-index]]
==== Vector Element Index Intrinsics

[,c]
----
// masked functions
----
Intrinsics here don't have an overloaded variant.

=== Vector Permutation Intrinsics

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,16 +190,8 @@ vbool64_t __riscv_vmsof(vbool64_t vm, vbool64_t vs2, size_t vl);

[[overloaded-vector-iota]]
==== Vector Iota Intrinsics

[,c]
----
// masked functions
----
Intrinsics here don't have an overloaded variant.

[[overloaded-vector-element-index]]
==== Vector Element Index Intrinsics

[,c]
----
// masked functions
----
Intrinsics here don't have an overloaded variant.
12 changes: 5 additions & 7 deletions rvv-intrinsic-generator/rvv_intrinsic_gen/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,10 +120,10 @@ def is_support_overloaded(name, **kwargs):
if re.match(p, name) and name[-2:] != "_m":
return False
unsupported_op = [
"setvl", "vundefined", "viota", "vmclr", "vmset", "vid", "vmv_v_x",
"vfmv_v_f", "vcreate", "vlm_v"
"setvl", "vundefined", "iota", "vmclr", "vmset", "vmv_v_x", "vfmv_v_f",
"vcreate", "vlm_v"
]
if any(i in name for i in unsupported_op):
if any(i in name for i in unsupported_op) or name == "id":
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cannot match "id" substring because of "slide".

return False

if name.startswith("sf_vc"):
Expand Down Expand Up @@ -436,10 +436,8 @@ def function_group(self,
lmul_list,
decorator_list,
description=None):
self.do_not_have_overloaded_variant = True
for op in op_list:
if Generator.is_support_overloaded(op):
self.do_not_have_overloaded_variant = False
self.do_not_have_overloaded_variant = not self.has_tail_policy and not any(
Generator.is_support_overloaded(op) for op in op_list)
Comment on lines +439 to +440
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This enabled viota/vid with tail policy for wrong reasons: they weren't matched by unsupported_op.
Now that they are matched, we need to skip this match in the D appendix.

super().function_group(
template,
title,
Expand Down