mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 09:00:17 +02:00
InstCountCI: Support disabling flagm extensions
This is necessary so #3162 can give consistent results
This commit is contained in:
1 parent
978f607dd9
commit
4edd72fc33
2 files changed
+18
-1
No files matched your search
@@ -56,7 +56,8 @@ class HostFeatures(Flag) :
|
||||
FEATURE_CSSC = (1 << 5)
|
||||
FEATURE_AFP = (1 << 6)
|
||||
FEATURE_RPRES = (1 << 7)
|
||||
|
||||
FEATURE_FLAGM = (1 << 8)
|
||||
FEATURE_FLAGM2 = (1 << 9)
|
||||
|
||||
HostFeaturesLookup = {
|
||||
"SVE128" : HostFeatures.FEATURE_SVE128,
|
||||
@@ -67,6 +68,8 @@ HostFeaturesLookup = {
|
||||
"CSSC" : HostFeatures.FEATURE_CSSC,
|
||||
"AFP" : HostFeatures.FEATURE_AFP,
|
||||
"RPRES" : HostFeatures.FEATURE_RPRES,
|
||||
"FLAGM" : HostFeatures.FEATURE_FLAGM,
|
||||
"FLAGM2" : HostFeatures.FEATURE_FLAGM2,
|
||||
}
|
||||
|
||||
def GetHostFeatures(data):
|
||||
|
||||
@@ -465,6 +465,8 @@ int main(int argc, char **argv, char **const envp) {
|
||||
FEATURE_CSSC = (1U << 5),
|
||||
FEATURE_AFP = (1U << 6),
|
||||
FEATURE_RPRES = (1U << 7),
|
||||
FEATURE_FLAGM = (1U << 8),
|
||||
FEATURE_FLAGM2 = (1U << 9),
|
||||
};
|
||||
|
||||
uint64_t SVEWidth = 0;
|
||||
@@ -495,6 +497,12 @@ int main(int argc, char **argv, char **const envp) {
|
||||
if (TestHeaderData->EnabledHostFeatures & FEATURE_RPRES) {
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLERPRES);
|
||||
}
|
||||
if (TestHeaderData->EnabledHostFeatures & FEATURE_FLAGM) {
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLEFLAGM);
|
||||
}
|
||||
if (TestHeaderData->EnabledHostFeatures & FEATURE_FLAGM2) {
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLEFLAGM2);
|
||||
}
|
||||
|
||||
// Always enable ARMv8.1 LSE atomics.
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLEATOMICS);
|
||||
@@ -525,6 +533,12 @@ int main(int argc, char **argv, char **const envp) {
|
||||
if (TestHeaderData->DisabledHostFeatures & FEATURE_RPRES) {
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::DISABLERPRES);
|
||||
}
|
||||
if (TestHeaderData->DisabledHostFeatures & FEATURE_FLAGM) {
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::DISABLEFLAGM);
|
||||
}
|
||||
if (TestHeaderData->DisabledHostFeatures & FEATURE_FLAGM2) {
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::DISABLEFLAGM2);
|
||||
}
|
||||
|
||||
FEXCore::Config::EraseSet(FEXCore::Config::CONFIG_HOSTFEATURES, fextl::fmt::format("{}", HostFeatureControl));
|
||||
FEXCore::Config::EraseSet(FEXCore::Config::CONFIG_FORCESVEWIDTH, fextl::fmt::format("{}", SVEWidth));
|
||||
|
||||
Reference in new issue
Block a user