Macros | |
#define | ein_target(x) |
this indicates a required feature set for the current multiversioned function. | |
#define | ein_target_clones(...) |
this indicates a required feature set for the current multiversioned function. | |
attributes for function multiversioning
Multi-versioned functions have their symbols resolved at linkage time by a function that can look at the CPU and make linking decisions. These are theoretically great!
Unfortunately, they don't support [[flatten]]
and they don't support function templates as implemented at this time. When they do they'll become a powerful tool.
#define ein_target | ( | x | ) |
this indicates a required feature set for the current multiversioned function.
Overloads will be resolved at load time by the linker based on detected cpu capabilities. Unfortunately this cannot be applied to templated functions (or ones that take auto
)
Definition at line 43 of file targets.hpp.
#define ein_target_clones | ( | ... | ) |
this indicates a required feature set for the current multiversioned function.
Overloads will be resolved at load time.
Definition at line 53 of file targets.hpp.