87 lines
2.0 KiB
C++
87 lines
2.0 KiB
C++
/***
|
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
File: CpuId.hpp
|
|
Date: 2022-1-24
|
|
Author: Reece
|
|
***/
|
|
#pragma once
|
|
|
|
namespace Aurora::HWInfo
|
|
{
|
|
struct AUKN_SYM CpuId
|
|
{
|
|
AU_COPY_MOVE_DEF(CpuId);
|
|
|
|
bool SSE3() const;
|
|
bool PCLMULQDQ() const;
|
|
bool MONITOR() const;
|
|
bool SSSE3() const;
|
|
bool FMA() const;
|
|
bool CMPXCHG16B() const;
|
|
bool SSE41() const;
|
|
bool SSE42() const;
|
|
bool MOVBE() const;
|
|
bool POPCNT() const;
|
|
bool AES() const;
|
|
bool XSAVE() const;
|
|
bool OSXSAVE() const;
|
|
bool AVX() const;
|
|
bool F16C() const;
|
|
bool RDRAND() const;
|
|
|
|
bool MSR() const;
|
|
bool CX8() const;
|
|
bool SEP() const;
|
|
bool CMOV() const;
|
|
bool CLFSH() const;
|
|
bool MMX() const;
|
|
bool FXSR() const;
|
|
bool SSE() const;
|
|
bool SSE2() const;
|
|
|
|
bool FSGSBASE() const;
|
|
bool BMI1() const;
|
|
bool HLE() const;
|
|
bool AVX2() const;
|
|
bool BMI2() const;
|
|
bool ERMS() const;
|
|
bool INVPCID() const;
|
|
bool RTM() const;
|
|
bool AVX512F() const;
|
|
bool RDSEED() const;
|
|
bool ADX() const;
|
|
bool AVX512PF() const;
|
|
bool AVX512ER() const;
|
|
bool AVX512CD() const;
|
|
bool SHA() const;
|
|
|
|
bool PREFETCHWT1() const;
|
|
|
|
bool LAHF() const;
|
|
bool LZCNT() const;
|
|
bool ABM() const;
|
|
bool SSE4a() const;
|
|
bool XOP() const;
|
|
bool TBM() const;
|
|
|
|
bool SYSCALL() const;
|
|
bool MMXEXT() const;
|
|
bool RDTSCP() const;
|
|
bool _3DNOWEXT() const;
|
|
bool _3DNOW() const;
|
|
|
|
AuString ToString() const;
|
|
|
|
AuString vendor;
|
|
AuString brand;
|
|
bool isIntel;
|
|
bool isAMD;
|
|
AuUInt32 f_1_ECX;
|
|
AuUInt32 f_1_EDX;
|
|
AuUInt32 f_7_EBX;
|
|
AuUInt32 f_7_ECX;
|
|
AuUInt32 f_81_ECX;
|
|
AuUInt32 f_81_EDX;
|
|
};
|
|
} |