mirror of
https://github.com/xmrig/xmrig.git
synced 2024-12-23 03:59:41 +00:00
Auto-detect proper asm variant.
This commit is contained in:
parent
c9fd8061c2
commit
0c20d7a125
3 changed files with 14 additions and 4 deletions
|
@ -36,7 +36,7 @@ xmrig::BasicCpuInfo::BasicCpuInfo() :
|
|||
memcpy(m_brand, "Unknown", 7);
|
||||
|
||||
# if __ARM_FEATURE_CRYPTO
|
||||
m_flags |= AES;
|
||||
m_aes = true;
|
||||
# endif
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
|
||||
|
||||
xmrig::AdvancedCpuInfo::AdvancedCpuInfo() :
|
||||
m_assembly(ASM_NONE),
|
||||
m_aes(false),
|
||||
m_L2_exclusive(false),
|
||||
m_brand(),
|
||||
|
@ -71,7 +72,16 @@ xmrig::AdvancedCpuInfo::AdvancedCpuInfo() :
|
|||
m_L2 = data.l2_cache > 0 ? data.l2_cache * cores() * m_sockets : 0;
|
||||
}
|
||||
|
||||
m_aes = data.flags[CPU_FEATURE_AES];
|
||||
if (data.flags[CPU_FEATURE_AES]) {
|
||||
m_aes = true;
|
||||
|
||||
if (data.vendor == VENDOR_AMD && data.ext_family >= 23) {
|
||||
m_assembly = ASM_RYZEN;
|
||||
}
|
||||
else if (data.vendor == VENDOR_INTEL && data.ext_model >= 42) {
|
||||
m_assembly = ASM_INTEL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
* Copyright 2017-2018 XMR-Stak <https://github.com/fireice-uk>, <https://github.com/psychocrypt>
|
||||
* Copyright 2016-2018 XMRig <https://github.com/xmrig>, <support@xmrig.com>
|
||||
*
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
|
@ -40,7 +39,7 @@ public:
|
|||
protected:
|
||||
size_t optimalThreadsCount(size_t memSize, int maxCpuUsage) const override;
|
||||
|
||||
inline Assembly assembly() const override { return ASM_NONE; }
|
||||
inline Assembly assembly() const override { return m_assembly; }
|
||||
inline bool hasAES() const override { return m_aes; }
|
||||
inline bool isSupported() const override { return true; }
|
||||
inline const char *brand() const override { return m_brand; }
|
||||
|
@ -58,6 +57,7 @@ protected:
|
|||
# endif
|
||||
|
||||
private:
|
||||
Assembly m_assembly;
|
||||
bool m_aes;
|
||||
bool m_L2_exclusive;
|
||||
char m_brand[64];
|
||||
|
|
Loading…
Reference in a new issue