You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: riscv-c-api.md
+1-20Lines changed: 1 addition & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -728,23 +728,4 @@ statements, including both RISC-V specific and common operand modifiers.
728
728
729
729
## Function Multi-version
730
730
731
-
Function multi-versioning(FMV) provides an approach to selecting the appropriate function according to the runtime environment. This feature is triggered by `target_version/target_clones` function attribute. The compiler generates the resolver function based on the IFUNC mechanism. It expects that there is an API in the runtime environment for FMV to check if it fulfills all extension requirements.
732
-
733
-
### Runtime Feature API
734
-
735
-
Here is the prototype of that API.
736
-
737
-
```
738
-
bool __riscv_ifunc_select(char *FeatureString)
739
-
```
740
-
741
-
Where FeatureString is a string that concatenates all target features belonging to a particular function. The form can be described in the following BNF form.
742
-
743
-
```
744
-
FeatureString := EXTENSIONS
745
-
EXTENSIONS := <EXTENSION-NAME> ';' <EXTENSIONS>
746
-
| <EXTENSION-NAME>
747
-
EXTENSION-NAME := Naming rule is defined in RISC-V ISA manual
748
-
```
749
-
750
-
If all features are available for the current runtime environment, it returns true. Otherwise, it returns false.
731
+
Function multi-versioning(FMV) provides an approach to selecting the appropriate function according to the runtime environment. This feature is triggered by `target_version/target_clones` function attribute.
0 commit comments