InstcountCI: Add support for SVE bitperm

This commit is contained in:
Ryan Houdek 2024-07-10 21:48:37 -07:00
parent 3554d5c2f7
commit 5e56bdc0fd
No known key found for this signature in database
2 changed files with 10 additions and 0 deletions

View File

@ -54,6 +54,7 @@ class HostFeatures(Flag) :
FEATURE_FLAGM2 = (1 << 9)
FEATURE_CRYPTO = (1 << 10)
FEATURE_AES256 = (1 << 11)
FEATURE_SVEBITPERM = (1 << 12)
HostFeaturesLookup = {
"SVE128" : HostFeatures.FEATURE_SVE128,
@ -68,6 +69,7 @@ HostFeaturesLookup = {
"FLAGM2" : HostFeatures.FEATURE_FLAGM2,
"CRYPTO" : HostFeatures.FEATURE_CRYPTO,
"AES256" : HostFeatures.FEATURE_AES256,
"SVEBITPERM" : HostFeatures.FEATURE_SVEBITPERM,
}
def GetHostFeatures(data):

View File

@ -505,6 +505,8 @@ int main(int argc, char** argv, char** const envp) {
FEATURE_FLAGM = (1U << 8),
FEATURE_FLAGM2 = (1U << 9),
FEATURE_CRYPTO = (1U << 10),
FEATURE_AES256 = (1U << 11),
FEATURE_SVEBITPERM = (1U << 12),
};
uint64_t SVEWidth = 0;
@ -543,6 +545,9 @@ int main(int argc, char** argv, char** const envp) {
if (TestHeaderData->EnabledHostFeatures & FEATURE_CRYPTO) {
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLECRYPTO);
}
if (TestHeaderData->EnabledHostFeatures & FEATURE_SVEBITPERM) {
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLESVEBITPERM);
}
// Always enable ARMv8.1 LSE atomics.
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLEATOMICS);
@ -577,6 +582,9 @@ int main(int argc, char** argv, char** const envp) {
if (TestHeaderData->DisabledHostFeatures & FEATURE_CRYPTO) {
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::DISABLECRYPTO);
}
if (TestHeaderData->DisabledHostFeatures & FEATURE_SVEBITPERM) {
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::DISABLESVEBITPERM);
}
// Always enable preserve_all abi.
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLEPRESERVEALLABI);