mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-06 13:00:15 +02:00
InstCountCI: Adds option to disable cssc for tests
One x87 instruction was using CSSC abs
This commit is contained in:
1 parent
9933ef07ea
commit
d5a4d9b17f
3 files changed
+14
-1
No files matched your search
@@ -47,6 +47,8 @@ class HostFeatures(Flag) :
|
||||
FEATURE_CLZERO = (1 << 2)
|
||||
FEATURE_RNG = (1 << 3)
|
||||
FEATURE_FCMA = (1 << 4)
|
||||
FEATURE_CSSC = (1 << 5)
|
||||
|
||||
|
||||
HostFeaturesLookup = {
|
||||
"SVE128" : HostFeatures.FEATURE_SVE128,
|
||||
@@ -54,6 +56,7 @@ HostFeaturesLookup = {
|
||||
"CLZERO" : HostFeatures.FEATURE_CLZERO,
|
||||
"RNG" : HostFeatures.FEATURE_RNG,
|
||||
"FCMA" : HostFeatures.FEATURE_FCMA,
|
||||
"CSSC" : HostFeatures.FEATURE_CSSC,
|
||||
}
|
||||
|
||||
def GetHostFeatures(data):
|
||||
|
||||
@@ -451,6 +451,8 @@ int main(int argc, char **argv, char **const envp) {
|
||||
FEXCore::Config::EraseSet(FEXCore::Config::CONFIG_IS64BIT_MODE, TestHeaderData->Bitness == 64 ? "1" : "0");
|
||||
// Disable telemetry, it can affect instruction counts.
|
||||
FEXCore::Config::EraseSet(FEXCore::Config::CONFIG_DISABLETELEMETRY, "1");
|
||||
// Disable vixl simulator indirect calls as it can affect instruction counts.
|
||||
FEXCore::Config::EraseSet(FEXCore::Config::CONFIG_DISABLE_VIXL_INDIRECT_RUNTIME_CALLS, "1");
|
||||
|
||||
// Host feature override. Only supports overriding SVE width.
|
||||
enum HostFeatures {
|
||||
@@ -459,6 +461,7 @@ int main(int argc, char **argv, char **const envp) {
|
||||
FEATURE_CLZERO = (1U << 2),
|
||||
FEATURE_RNG = (1U << 3),
|
||||
FEATURE_FCMA = (1U << 4),
|
||||
FEATURE_CSSC = (1U << 5),
|
||||
};
|
||||
|
||||
uint64_t SVEWidth = 0;
|
||||
@@ -480,6 +483,9 @@ int main(int argc, char **argv, char **const envp) {
|
||||
if (TestHeaderData->EnabledHostFeatures & FEATURE_FCMA) {
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLEFCMA);
|
||||
}
|
||||
if (TestHeaderData->EnabledHostFeatures & FEATURE_CSSC) {
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLECSSC);
|
||||
}
|
||||
|
||||
// Always enable ARMv8.1 LSE atomics.
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::ENABLEATOMICS);
|
||||
@@ -499,6 +505,9 @@ int main(int argc, char **argv, char **const envp) {
|
||||
if (TestHeaderData->DisabledHostFeatures & FEATURE_FCMA) {
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::DISABLEFCMA);
|
||||
}
|
||||
if (TestHeaderData->DisabledHostFeatures & FEATURE_CSSC) {
|
||||
HostFeatureControl |= static_cast<uint64_t>(FEXCore::Config::HostFeatures::DISABLECSSC);
|
||||
}
|
||||
FEXCore::Config::EraseSet(FEXCore::Config::CONFIG_HOSTFEATURES, fextl::fmt::format("{}", HostFeatureControl));
|
||||
FEXCore::Config::EraseSet(FEXCore::Config::CONFIG_FORCESVEWIDTH, fextl::fmt::format("{}", SVEWidth));
|
||||
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
"EnabledHostFeatures": [],
|
||||
"DisabledHostFeatures": [
|
||||
"SVE128",
|
||||
"SVE256"
|
||||
"SVE256",
|
||||
"CSSC"
|
||||
]
|
||||
},
|
||||
"Instructions": {
|
||||
|
||||
Reference in new issue
Block a user