Lines Matching defs:ECX

979 static void getAvailableFeatures(unsigned ECX, unsigned EDX, unsigned MaxLeaf,
1007 if ((ECX >> 0) & 1)
1009 if ((ECX >> 1) & 1)
1011 if ((ECX >> 9) & 1)
1013 if ((ECX >> 12) & 1)
1015 if ((ECX >> 19) & 1)
1017 if ((ECX >> 20) & 1)
1019 if ((ECX >> 23) & 1)
1021 if ((ECX >> 25) & 1)
1024 if ((ECX >> 22) & 1)
1031 bool HasAVX = ((ECX & AVXBits) == AVXBits) && !getX86XCR0(&EAX, &EDX) &&
1047 MaxLeaf >= 0x7 && !getX86CpuIDAndInfoEx(0x7, 0x0, &EAX, &EBX, &ECX, &EDX);
1078 if (HasLeaf7 && ((ECX >> 1) & 1) && HasAVX512Save)
1080 if (HasLeaf7 && ((ECX >> 6) & 1) && HasAVX512Save)
1082 if (HasLeaf7 && ((ECX >> 8) & 1))
1084 if (HasLeaf7 && ((ECX >> 10) & 1) && HasAVX)
1086 if (HasLeaf7 && ((ECX >> 11) & 1) && HasAVX512Save)
1088 if (HasLeaf7 && ((ECX >> 12) & 1) && HasAVX512Save)
1090 if (HasLeaf7 && ((ECX >> 14) & 1) && HasAVX512Save)
1101 MaxLeaf >= 7 && !getX86CpuIDAndInfoEx(0x7, 0x1, &EAX, &EBX, &ECX, &EDX);
1106 getX86CpuIDAndInfo(0x80000000, &MaxExtLevel, &EBX, &ECX, &EDX);
1109 !getX86CpuIDAndInfo(0x80000001, &EAX, &EBX, &ECX, &EDX);
1110 if (HasExtLeaf1 && ((ECX >> 6) & 1))
1112 if (HasExtLeaf1 && ((ECX >> 11) & 1))
1114 if (HasExtLeaf1 && ((ECX >> 16) & 1))
1126 unsigned EAX = 0, EBX = 0, ECX = 0, EDX = 0;
1137 if (getX86CpuIDAndInfo(0, &MaxLeaf, &Vendor, &ECX, &EDX) || MaxLeaf < 1)
1139 getX86CpuIDAndInfo(0x1, &EAX, &EBX, &ECX, &EDX);
1145 getAvailableFeatures(ECX, EDX, MaxLeaf, &Features, &Features2, &Features3);
1342 unsigned EAX = 0, EBX = 0, ECX = 0, EDX = 0;
1353 getX86CpuIDAndInfo(1, &EAX, &EBX, &ECX, &EDX);
1362 Features["sse3"] = (ECX >> 0) & 1;
1363 Features["pclmul"] = (ECX >> 1) & 1;
1364 Features["ssse3"] = (ECX >> 9) & 1;
1365 Features["cx16"] = (ECX >> 13) & 1;
1366 Features["sse4.1"] = (ECX >> 19) & 1;
1367 Features["sse4.2"] = (ECX >> 20) & 1;
1368 Features["movbe"] = (ECX >> 22) & 1;
1369 Features["popcnt"] = (ECX >> 23) & 1;
1370 Features["aes"] = (ECX >> 25) & 1;
1371 Features["rdrnd"] = (ECX >> 30) & 1;
1376 bool HasAVXSave = ((ECX >> 27) & 1) && ((ECX >> 28) & 1) &&
1389 Features["fma"] = ((ECX >> 12) & 1) && HasAVXSave;
1391 Features["xsave"] = ((ECX >> 26) & 1) && HasAVXSave;
1392 Features["f16c"] = ((ECX >> 29) & 1) && HasAVXSave;
1395 getX86CpuIDAndInfo(0x80000000, &MaxExtLevel, &EBX, &ECX, &EDX);
1398 !getX86CpuIDAndInfo(0x80000001, &EAX, &EBX, &ECX, &EDX);
1399 Features["sahf"] = HasExtLeaf1 && ((ECX >> 0) & 1);
1400 Features["lzcnt"] = HasExtLeaf1 && ((ECX >> 5) & 1);
1401 Features["sse4a"] = HasExtLeaf1 && ((ECX >> 6) & 1);
1402 Features["prfchw"] = HasExtLeaf1 && ((ECX >> 8) & 1);
1403 Features["xop"] = HasExtLeaf1 && ((ECX >> 11) & 1) && HasAVXSave;
1404 Features["lwp"] = HasExtLeaf1 && ((ECX >> 15) & 1);
1405 Features["fma4"] = HasExtLeaf1 && ((ECX >> 16) & 1) && HasAVXSave;
1406 Features["tbm"] = HasExtLeaf1 && ((ECX >> 21) & 1);
1407 Features["mwaitx"] = HasExtLeaf1 && ((ECX >> 29) & 1);
1414 !getX86CpuIDAndInfo(0x80000008, &EAX, &EBX, &ECX, &EDX);
1419 MaxLevel >= 7 && !getX86CpuIDAndInfoEx(0x7, 0x0, &EAX, &EBX, &ECX, &EDX);
1444 Features["prefetchwt1"] = HasLeaf7 && ((ECX >> 0) & 1);
1445 Features["avx512vbmi"] = HasLeaf7 && ((ECX >> 1) & 1) && HasAVX512Save;
1446 Features["pku"] = HasLeaf7 && ((ECX >> 4) & 1);
1447 Features["waitpkg"] = HasLeaf7 && ((ECX >> 5) & 1);
1448 Features["avx512vbmi2"] = HasLeaf7 && ((ECX >> 6) & 1) && HasAVX512Save;
1449 Features["shstk"] = HasLeaf7 && ((ECX >> 7) & 1);
1450 Features["gfni"] = HasLeaf7 && ((ECX >> 8) & 1);
1451 Features["vaes"] = HasLeaf7 && ((ECX >> 9) & 1) && HasAVXSave;
1452 Features["vpclmulqdq"] = HasLeaf7 && ((ECX >> 10) & 1) && HasAVXSave;
1453 Features["avx512vnni"] = HasLeaf7 && ((ECX >> 11) & 1) && HasAVX512Save;
1454 Features["avx512bitalg"] = HasLeaf7 && ((ECX >> 12) & 1) && HasAVX512Save;
1455 Features["avx512vpopcntdq"] = HasLeaf7 && ((ECX >> 14) & 1) && HasAVX512Save;
1456 Features["rdpid"] = HasLeaf7 && ((ECX >> 22) & 1);
1457 Features["cldemote"] = HasLeaf7 && ((ECX >> 25) & 1);
1458 Features["movdiri"] = HasLeaf7 && ((ECX >> 27) & 1);
1459 Features["movdir64b"] = HasLeaf7 && ((ECX >> 28) & 1);
1460 Features["enqcmd"] = HasLeaf7 && ((ECX >> 29) & 1);
1464 // EAX=0x7, ECX=0x0 indicates the availability of the instruction (via the 18th
1474 MaxLevel >= 7 && !getX86CpuIDAndInfoEx(0x7, 0x1, &EAX, &EBX, &ECX, &EDX);
1478 !getX86CpuIDAndInfoEx(0xd, 0x1, &EAX, &EBX, &ECX, &EDX);
1486 !getX86CpuIDAndInfoEx(0x14, 0x0, &EAX, &EBX, &ECX, &EDX);