Comment déterminer la prise en charge du processe Support?
Réponse:
Non, l'extrait de code n'est pas valide pour vérifier la prise en charge de SSE3 sur Windows XP.
Solution:
Voici une méthode plus fiable pour détecter la prise en charge du processeur pour SSE3 et divers autres ensembles d'instructions:
code:
# ifdef _win32 // Windows #Define cpuid (info, x) __cpuidex (info, x, 0) #autre // GCC Intrinsics #includeRemarque:
#ifdef _WIN32 // Windows #define cpuid(info, x) __cpuidex(info, x, 0) #else // GCC Intrinsics #includevoid cpuid(int info[4], int InfoType) { __cpuid_count(InfoType, 0, info[0], info[1], info[2], info[3]); } #endif // Misc. bool HW_MMX; bool HW_x64; bool HW_ABM; // Advanced Bit Manipulation bool HW_RDRAND; bool HW_BMI1; bool HW_BMI2; bool HW_ADX; bool HW_PREFETCHWT1; // SIMD: 128-bit bool HW_SSE; bool HW_SSE2; bool HW_SSE3; bool HW_SSSE3; bool HW_SSE41; bool HW_SSE42; bool HW_SSE4a; bool HW_AES; bool HW_SHA; // SIMD: 256-bit bool HW_AVX; bool HW_XOP; bool HW_FMA3; bool HW_FMA4; bool HW_AVX2; // SIMD: 512-bit bool HW_AVX512F; // AVX512 Foundation bool HW_AVX512CD; // AVX512 Conflict Detection bool HW_AVX512PF; // AVX512 Prefetch bool HW_AVX512ER; // AVX512 Exponential Reciprocal bool HW_AVX512VL; // AVX512 Vector Length Extensions bool HW_AVX512BW; // AVX512 Byte Word bool HW_AVX512DQ; // AVX512 Doubleword Quadword bool HW_AVX512IFMA; // AVX512 Integer 52-bit Fused Multiply-Add bool HW_AVX512VBMI; // AVX512 Vector Byte Manipulation Instructions int info[4]; cpuid(info, 0); int nIds = info[0]; cpuid(info, 0x80000000); unsigned nExIds = info[0]; // Detect Features if (nIds >= 0x00000001){ cpuid(info, 0x00000001); HW_MMX = (info[3] & ((int)1 = 0x00000007){ cpuid(info, 0x00000007); HW_AVX2 = (info[1] & ((int)1 = 0x80000001){ cpuid(info, 0x80000001); HW_x64 = (info[3] & ((int)1 Gardez à l'esprit que la détection du support CPU est un seul aspect. Pour utiliser réellement ces instructions dans votre code, vous devrez peut-être effectuer des ajustements en fonction du langage de programmation spécifique et du système d'exploitation que vous utilisez.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3