Correct isa lookup for targets that do not support a target feature

Change-Id: I130070a53162e5d9fcc6a64a4bdda7869179be82


[ROCm/ROCR-Runtime commit: 26fe26e415]
Этот коммит содержится в:
Tony Tye
2021-01-18 15:47:19 +00:00
родитель 33438e7adc
Коммит 0aa0ebe2ee
+8 -5
Просмотреть файл
@@ -204,11 +204,14 @@ const Isa *IsaRegistry::GetIsa(const std::string &full_name) {
}
const Isa *IsaRegistry::GetIsa(const Isa::Version &version, IsaFeature sramecc, IsaFeature xnack) {
auto isareg_iter = std::find_if(
supported_isas_.begin(), supported_isas_.end(), [&](const IsaMap::value_type& isareg) {
return isareg.second.GetVersion() == version && isareg.second.GetSramecc() == sramecc &&
isareg.second.GetXnack() == xnack;
});
auto isareg_iter = std::find_if(supported_isas_.begin(), supported_isas_.end(),
[&](const IsaMap::value_type& isareg) {
return isareg.second.GetVersion() == version &&
(isareg.second.GetSramecc() == IsaFeature::Unsupported ||
isareg.second.GetSramecc() == sramecc) &&
(isareg.second.GetSramecc() == IsaFeature::Unsupported ||
isareg.second.GetXnack() == xnack);
});
return isareg_iter == supported_isas_.end() ? nullptr : &isareg_iter->second;
}