Skip to content

Commit 1de854c

Browse files
committed
Improve error message for manufacturer test
1 parent 761d971 commit 1de854c

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

include/xsimd/config/xsimd_cpu_features_x86.hpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,33 @@ namespace xsimd
266266
return x86_manufacturer::unknown;
267267
};
268268

269+
/** Return a string representation of an @ref x86_manufacturer value. */
270+
constexpr const char* x86_manufacturer_name(x86_manufacturer m) noexcept
271+
{
272+
switch (m)
273+
{
274+
case x86_manufacturer::intel:
275+
return "intel";
276+
case x86_manufacturer::amd:
277+
return "amd";
278+
case x86_manufacturer::via:
279+
return "via";
280+
case x86_manufacturer::zhaoxin:
281+
return "zhaoxin";
282+
case x86_manufacturer::hygon:
283+
return "hygon";
284+
case x86_manufacturer::transmeta:
285+
return "transmeta";
286+
case x86_manufacturer::elbrus:
287+
return "elbrus";
288+
case x86_manufacturer::microsoft_vpc:
289+
return "microsoft_vpc";
290+
case x86_manufacturer::unknown:
291+
return "unknown";
292+
}
293+
return "invalid";
294+
}
295+
269296
struct x86_cpuid_leaf1_traits
270297
{
271298
static constexpr detail::x86_reg32_t leaf = 1;

test/test_cpu_features.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ TEST_CASE("[cpu_features] x86 manufacturer from environment")
109109
bool match = std::any_of(manufacturers.begin(), manufacturers.end(), [&](const entry& e)
110110
{ return e.value == manufacturer && detail::contains(allowed, e.name); });
111111

112-
auto const msg = std::string("XSIMD_TEST_CPU_ASSUME_MANUFACTURER = ") + val;
112+
auto const msg = std::string("XSIMD_TEST_CPU_ASSUME_MANUFACTURER = ") + val
113+
+ ", actual = " + xsimd::x86_manufacturer_name(manufacturer);
113114
INFO(msg);
114115
CHECK_UNARY(match);
115116
}

0 commit comments

Comments
 (0)