hmm,...
I created a Hybrid.exe for testing which uses:
=> https://www.mediafire.com/file/tluc424y8...st.7z/file (simply replace the Hybrid.exe with this one)
which should output something similar to:
inside the normal log.
What does it show for you?
Cu Selur
I created a Hybrid.exe for testing which uses:
#include <QStringList>
#include <QString>
#include <QByteArray>
#if defined(_MSC_VER)
#include <intrin.h>
#elif defined(__GNUC__) || defined(__clang__)
#include <cpuid.h>
#endif
static void cpuid(unsigned int leaf, unsigned int subleaf,
unsigned int &eax, unsigned int &ebx,
unsigned int &ecx, unsigned int &edx)
{
#if defined(_MSC_VER)
int regs[4];
__cpuidex(regs, leaf, subleaf);
eax = regs[0];
ebx = regs[1];
ecx = regs[2];
edx = regs[3];
#else
__cpuid_count(leaf, subleaf, eax, ebx, ecx, edx);
#endif
}
QStringList getCpuInfo()
{
QStringList info;
unsigned int eax, ebx, ecx, edx;
// Leaf 0 : Vendor + max leaf
cpuid(0, 0, eax, ebx, ecx, edx);
unsigned int maxLeaf = eax;
char vendor[13];
memcpy(vendor + 0, &ebx, 4);
memcpy(vendor + 4, &edx, 4);
memcpy(vendor + 8, &ecx, 4);
vendor[12] = 0;
info << QString("Vendor: %1").arg(vendor);
info << QString("Max CPUID leaf: %1").arg(maxLeaf);
// Leaf 1 : basic features
cpuid(1, 0, eax, ebx, ecx, edx);
info << QString("SSE: %1").arg((edx >> 25) & 1);
info << QString("SSE2: %1").arg((edx >> 26) & 1);
info << QString("SSE3: %1").arg((ecx >> 0) & 1);
info << QString("SSSE3: %1").arg((ecx >> 9) & 1);
info << QString("SSE4.1: %1").arg((ecx >> 19) & 1);
info << QString("SSE4.2: %1").arg((ecx >> 20) & 1);
info << QString("AVX: %1").arg((ecx >> 28) & 1);
info << QString("FMA: %1").arg((ecx >> 12) & 1);
// Leaf 7 : extended features
if (maxLeaf >= 7)
{
cpuid(7, 0, eax, ebx, ecx, edx);
info << QString("AVX2: %1").arg((ebx >> 5) & 1);
info << QString("BMI1: %1").arg((ebx >> 3) & 1);
info << QString("BMI2: %1").arg((ebx >> 8) & 1);
info << QString("AVX512F: %1").arg((ebx >> 16) & 1);
info << QString("SHA: %1").arg((ebx >> 29) & 1);
}
// CPU brand string
char brand[49] = {0};
if (maxLeaf >= 0x80000004)
{
unsigned int data[4];
for (int i = 0; i < 3; ++i)
{
cpuid(0x80000002 + i, 0, data[0], data[1], data[2], data[3]);
memcpy(brand + i * 16, data, 16);
}
info << QString("Brand: %1").arg(QString::fromLatin1(brand).trimmed());
}
return info;
}which should output something similar to:
CPU INFO: Vendor: AuthenticAMD Max CPUID leaf: 13 SSE: 1 SSE2: 1 SSE3: 1 SSSE3: 1 SSE4.1: 1 SSE4.2: 1 AVX: 1 FMA: 1 AVX2: 1 BMI1: 1 BMI2: 1 AVX512F: 1 SHA: 1What does it show for you?
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.

