TestHarnessHelper: Adds support for the new CPU features

This commit is contained in:
Ryan Houdek committed 2026-10-23 09:43:12 -07:00
1 parent ead1317f9a
commit 660e0468f1
2 files changed
+36

No files matched your search

+8
View File
@@ -90,6 +90,10 @@ class HostFeatures(Flag) :
FEATURE_AVX_VNNI = (1 << 24)
FEATURE_SERIALIZE = (1 << 25)
FEATURE_AVX_NE_CONVERT = (1 << 26)
FEATURE_AVX_VNNI_INT8 = (1 << 27)
FEATURE_AVX_VNNI_INT16 = (1 << 28)
FEATURE_AVX_IFMA = (1 << 29)
FEATURE_SHA512 = (1 << 30)
RegStringLookup = {
"NONE": Regs.REG_NONE,
@@ -179,6 +183,10 @@ HostFeaturesLookup = {
"AVX_VNNI" : HostFeatures.FEATURE_AVX_VNNI,
"SERIALIZE" : HostFeatures.FEATURE_SERIALIZE,
"AVX_NE_CONVERT" : HostFeatures.FEATURE_AVX_NE_CONVERT,
"AVX_VNNI_INT8" : HostFeatures.FEATURE_AVX_VNNI_INT8,
"AVX_VNNI_INT16" : HostFeatures.FEATURE_AVX_VNNI_INT16,
"AVX_IFMA" : HostFeatures.FEATURE_AVX_IFMA,
"SHA512" : HostFeatures.FEATURE_SHA512,
}
def parse_hexstring(s):
+28
View File
@@ -324,6 +324,10 @@ public:
FEATURE_AVX_VNNI = (1 << 24),
FEATURE_SERIALIZE = (1 << 25),
FEATURE_AVX_NE_CONVERT = (1 << 26),
FEATURE_AVX_VNNI_INT8 = (1 << 27),
FEATURE_AVX_VNNI_INT16 = (1 << 28),
FEATURE_AVX_IFMA = (1 << 29),
FEATURE_SHA512 = (1 << 30),
};
bool Requires3DNow() const {
@@ -407,6 +411,18 @@ public:
bool RequiresAVXNEConvert() const {
return BaseConfig.OptionHostFeatures & HostFeatures::FEATURE_AVX_NE_CONVERT;
}
bool RequiresAVXVNNIINT8() const {
return BaseConfig.OptionHostFeatures & HostFeatures::FEATURE_AVX_VNNI_INT8;
}
bool RequiresAVXVNNIINT16() const {
return BaseConfig.OptionHostFeatures & HostFeatures::FEATURE_AVX_VNNI_INT16;
}
bool RequiresAVXIFMA() const {
return BaseConfig.OptionHostFeatures & HostFeatures::FEATURE_AVX_IFMA;
}
bool RequiresSHA512() const {
return BaseConfig.OptionHostFeatures & HostFeatures::FEATURE_SHA512;
}
private:
FEX_CONFIG_OPT(ConfigDumpGPRs, DUMPGPRS);
@@ -623,6 +639,18 @@ public:
bool RequiresAVXNEConvert() const {
return Config.RequiresAVXNEConvert();
}
bool RequiresAVXVNNIINT8() const {
return Config.RequiresAVXVNNIINT8();
}
bool RequiresAVXVNNIINT16() const {
return Config.RequiresAVXVNNIINT16();
}
bool RequiresAVXIFMA() const {
return Config.RequiresAVXIFMA();
}
bool RequiresSHA512() const {
return Config.RequiresSHA512();
}
private:
constexpr static uint64_t STACK_OFFSET = 0xc000'0000;