x64_cpu_info: Add required C headers
This commit is contained in:
parent
b4e74c079c
commit
63ebed5760
1 changed files with 9 additions and 5 deletions
|
@ -4,6 +4,10 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <cstdio>
|
||||||
|
#include <cstring>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include <catch2/catch_test_macros.hpp>
|
#include <catch2/catch_test_macros.hpp>
|
||||||
|
@ -13,8 +17,8 @@ TEST_CASE("Host CPU supports", "[a64]") {
|
||||||
using Cpu = Xbyak::util::Cpu;
|
using Cpu = Xbyak::util::Cpu;
|
||||||
Cpu cpu_info;
|
Cpu cpu_info;
|
||||||
|
|
||||||
std::array<uint32_t, 4> cpu_name;
|
std::array<std::uint32_t, 4> cpu_name;
|
||||||
for (uint32_t i = 2; i < 5; ++i) {
|
for (std::uint32_t i = 2; i < 5; ++i) {
|
||||||
cpu_info.getCpuid(0x80000000 | i, cpu_name.data());
|
cpu_info.getCpuid(0x80000000 | i, cpu_name.data());
|
||||||
std::printf("%.16s", reinterpret_cast<const char*>(cpu_name.data()));
|
std::printf("%.16s", reinterpret_cast<const char*>(cpu_name.data()));
|
||||||
}
|
}
|
||||||
|
@ -96,11 +100,11 @@ TEST_CASE("Host CPU supports", "[a64]") {
|
||||||
#undef X
|
#undef X
|
||||||
};
|
};
|
||||||
|
|
||||||
constexpr size_t line_max = 80;
|
constexpr std::size_t line_max = 80;
|
||||||
size_t line_length = 0;
|
std::size_t line_length = 0;
|
||||||
for (const auto& [type, name] : types) {
|
for (const auto& [type, name] : types) {
|
||||||
if (cpu_info.has(type)) {
|
if (cpu_info.has(type)) {
|
||||||
const size_t name_length = std::strlen(name) + 1;
|
const std::size_t name_length = std::strlen(name) + 1;
|
||||||
if ((line_length + name_length) >= line_max) {
|
if ((line_length + name_length) >= line_max) {
|
||||||
line_length = name_length;
|
line_length = name_length;
|
||||||
std::putchar('\n');
|
std::putchar('\n');
|
||||||
|
|
Loading…
Reference in a new issue