Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add macros that test which RISCV features have been enabled at compile time.
This patch has been tested with clang version 14.0.0 (and should also work with gcc).
clang does not currently support 128 bit integer registers (CPU_FEATURES_ARCH_RISCV128) or 128 bit floating point registers (CPU_FEATURES_COMPILED_RISCV_Q); all the other features are supported by clang 14.0.0.
These features are all either in the ratified version of the RISCV Unprivileged specification, or are ratified extensions. (the V vector extension, Zb bitmap extensions, and Zk crypto extensions were ratified in November 2021). i.e. they are all officially part of the RISCV spec.