SSE3命令セットのCPUサポートを決定する方法サポート?
回答:
いいえ、コードスニペットはWindows XPでSSE3サポートをチェックするために無効です。
solution:
SSE3およびその他のさまざまな命令セットのCPUサポートを検出するためのより信頼できる方法:
コード:、int infotype){ __cpuid_count(infotype、0、info [0]、info [1]、info [2]、info [3]); } #endif //その他。 bool hw_mmx; bool hw_x64; bool hw_abm; //高度なビット操作 bool hw_rdrand; bool hw_bmi1; bool hw_bmi2; bool hw_adx; bool hw_prefetchwt1; // SIMD:128ビット 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ビット bool hw_avx; bool hw_xop; bool hw_fma3; bool hw_fma4; bool hw_avx2; // SIMD:512ビット bool hw_avx512f; // AVX512 Foundation bool hw_avx512cd; // AVX512競合検出 bool hw_avx512pf; // avx512プリフェッチ bool hw_avx512er; // avx512指数相互の相互 bool hw_avx512vl; // avx512ベクトル長拡張 bool hw_avx512bw; // avx512 byte word bool hw_avx512dq; // avx512ダブルワードquadword bool hw_avx512ifma; // avx512整数52ビット融合マルチプリド bool hw_avx512vbmi; // avx512ベクトルバイト操作手順 int info [4]; cpuid(info、0); int nids = info [0]; cpuid(info、0x80000000); unsigned nexids = info [0]; //機能を検出します if(nids> = 0x00000001){ cpuid(info、0x00000001); hw_mmx =(info [3]&((int)1 = 0x00000007){ cpuid(info、0x00000007); hw_avx2 =(info [1]&((int)1 = 0x800001){ cpuid(info、0x80000001); hw_x64 =(info [3]&((int)1
この方法を使用して、コードを実行した後にhw_sse3 boolean変数をチェックすることにより、CPUがSSE3命令セットをサポートするかどうかを判断できます。コードでこれらの指示を実際に利用するには、使用している特定のプログラミング言語とオペレーティングシステムに基づいて調整を行う必要がある場合があります。免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3