mirror of https://github.com/PurpleI2P/i2pd.git
Jeff Becker
7 years ago
2 changed files with 49 additions and 0 deletions
@ -0,0 +1,34 @@
@@ -0,0 +1,34 @@
|
||||
#include "CPU.h" |
||||
#if defined(__x86_64__) || defined(__i386__) |
||||
#include <cpuid.h> |
||||
#endif |
||||
#include "Log.h" |
||||
namespace i2p |
||||
{ |
||||
namespace cpu |
||||
{ |
||||
bool aesni = false; |
||||
bool avx = false; |
||||
|
||||
void Detect() |
||||
{ |
||||
#if defined(__x86_64__) || defined(__i386__) |
||||
int info[4]; |
||||
__cpuid(0, info[0], info[1], info[2], info[3]); |
||||
if (info[0] >= 0x00000001) { |
||||
__cpuid(0x00000001, info[0], info[1], info[2], info[3]); |
||||
aesni = info[2] & bit_AES; // AESNI
|
||||
avx = info[2] & bit_AVX; // AVX
|
||||
} |
||||
#endif |
||||
if(aesni) |
||||
{ |
||||
LogPrint(eLogInfo, "AESNI enabled"); |
||||
} |
||||
if(avx) |
||||
{ |
||||
LogPrint(eLogInfo, "AVX enabled"); |
||||
} |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue