Exact ARM feature requirements; construction does not add prerequisites.
More...
#include <isa.h>
|
|
using | feature_type = typename detail::feature_traits<arm>::type |
| | Feature enum accepted by this ISA family.
|
|
|
constexpr | isa () noexcept=default |
| | Construct the empty requirement set.
|
|
constexpr | isa (feature_type f) noexcept |
| | Require exactly one feature of this family, without prerequisite closure.
|
|
constexpr bool | get (feature_type f) const noexcept |
| | Read one feature; out-of-range values are absent.
|
| constexpr void | set (feature_type f, bool value) noexcept |
|
constexpr bool | has (feature_type f) const noexcept |
| | True when the feature is present.
|
|
constexpr bool | has (isa other) const noexcept |
| | True when every bit in a same-family requirement is present.
|
|
constexpr bool | valid () const noexcept |
| | True when no invalid marker or unregistered padding bit is set.
|
|
constexpr bool | operator== (isa const &) const =default |
| | Compare every stored bit, including invalid requirements.
|
|
|
std::array< std::uint64_t,(feature_count+1+63)/64 > | flags {} |
| | Public structural bits; invalid enum values and padding fail validation.
|
|
bool | neon |
| | Read or update the neon feature bit through flags.
|
|
bool | neon_fp16 |
| | Read or update the neon_fp16 feature bit through flags.
|
|
bool | neon_bf16 |
| | Read or update the neon_bf16 feature bit through flags.
|
|
bool | pmull |
| | Read or update the pmull feature bit through flags.
|
|
bool | sha1 |
| | Read or update the sha1 feature bit through flags.
|
|
bool | sha512 |
| | Read or update the sha512 feature bit through flags.
|
| bool | ebf16 |
| bool | sm3 |
| bool | sm4 |
| | Read or update the sm4 feature bit through flags.
|
|
bool | aes |
| | Read or update the aes feature bit through flags.
|
|
bool | sha2 |
| | Read or update the sha2 feature bit through flags.
|
|
bool | sha3 |
| | Read or update the sha3 feature bit through flags.
|
|
bool | crc |
| | Read or update the crc feature bit through flags.
|
|
bool | lse |
| | Read or update the lse feature bit through flags.
|
|
bool | rdm |
| | Read or update the rdm feature bit through flags.
|
|
bool | fp16fml |
| | Read or update the fp16fml feature bit through flags.
|
|
bool | dotprod |
| | Read or update the dotprod feature bit through flags.
|
|
bool | complxnum |
| | Read or update the complxnum feature bit through flags.
|
|
bool | jsconv |
| | Read or update the jsconv feature bit through flags.
|
|
bool | rcpc |
| | Read or update the rcpc feature bit through flags.
|
|
bool | pauth |
| | Read or update the pauth feature bit through flags.
|
|
bool | i8mm |
| | Read or update the i8mm feature bit through flags.
|
|
|
static constexpr architecture | family =arm |
| | Architecture family, independent of the compiler target.
|
|
static constexpr auto | feature_count =detail::feature_traits<arm>::count |
| | Number of registered features in this family.
|
Exact ARM feature requirements; construction does not add prerequisites.
Definition at line 205 of file isa.h.
◆ set()
Set or clear one feature. Requiring an invalid enum records an invalid set. Clearing an invalid enum does nothing; neither case indexes outside storage.
Definition at line 225 of file isa.h.
◆ ebf16
Read or update the ebf16 feature bit through flags.
Definition at line 257 of file isa.h.
◆ sm3
True when the SM3 instruction feature is present. Set or clear the independent SM3 requirement. Read or update the sm3 feature bit through flags.
Definition at line 260 of file isa.h.
◆ sm4
Read or update the sm4 feature bit through flags.
True when the SM4 instruction feature is present. Set or clear the independent SM4 requirement.
Definition at line 263 of file isa.h.
The documentation for this struct was generated from the following file: