x64CPUDetect: Add flag for slow PDEP/PEXT on AMD Zen
For some unknown reason PDEP and PEXT are ridiculously slow on AMD Zen architecture.
This commit is contained in:
parent
52b52631c2
commit
185e49d2a9
|
@ -42,6 +42,9 @@ struct CPUInfo
|
||||||
bool bAVX2 = false;
|
bool bAVX2 = false;
|
||||||
bool bBMI1 = false;
|
bool bBMI1 = false;
|
||||||
bool bBMI2 = false;
|
bool bBMI2 = false;
|
||||||
|
// PDEP and PEXT are ridiculously slow on AMD Zen, so we have this flag to avoid using them there
|
||||||
|
// Zen 2 is also affected by this issue
|
||||||
|
bool bFastBMI2 = false;
|
||||||
bool bFMA = false;
|
bool bFMA = false;
|
||||||
bool bFMA4 = false;
|
bool bFMA4 = false;
|
||||||
bool bAES = false;
|
bool bAES = false;
|
||||||
|
|
|
@ -175,6 +175,7 @@ void CPUInfo::Detect()
|
||||||
}
|
}
|
||||||
|
|
||||||
bFlushToZero = bSSE;
|
bFlushToZero = bSSE;
|
||||||
|
bFastBMI2 = bBMI2 && !bZen;
|
||||||
|
|
||||||
if (max_ex_fn >= 0x80000004)
|
if (max_ex_fn >= 0x80000004)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue