VS2010 CRTライブラリの一部の機能を少し変更してビルドしようとしていますが、おそらく命令セットアーキテクチャを保持するグローバル変数にアクセスしようとする部分を除いて、バージョン(ISA):x64で__asmのないSSEバージョンを取得する
if (__isa_available > __ISA_AVAILABLE_SSE2)
{
// ...
}
else if (__isa_available == __ISA_AVAILABLE_SSE2)
{
// ...
}
値それが保持しなければならない私は、アセンブリファイルで見つかった
__ISA_AVAILABLE_X86 equ 0
__ISA_AVAILABLE_SSE2 equ 1
__ISA_AVAILABLE_SSE42 equ 2
__ISA_AVAILABLE_AVX equ 3
方法と__isa_available
は価値がどこにも発見されてはならない割り当てられているが(私が見つけることを試みた 私のすべてのディレクトリ内のファイル...)
MSDNは、命令セットを決定するために、CPUIDの例を参照しています。その問題は、__asm
ブロックを使用し、それらはx64ビルドでは使用できないということです。
すぐに正しい値を__isa_available
に割り当てる方法を知っている人はいますか?あまりにも、同じウェブサイトに
広範なコードサンプルは次のとおりです。
素晴らしい、それはまさに私が必要としていたものです。 – demorge