AVX に依存するコードがいくつかあります。
同じコードベースで も使用しますTZCNT
。
後者はBMI1の一部です。CPUID を使用してこの命令をテストできることはわかっていますが、怠け者なので、実際には実装しませんでした。
サポートをテストするには、AVX 命令を実行するだけです。未定義の命令例外が返された場合#UD
、CPU が AVX をサポートしていないことがわかります。
ただし、 (または-どちらがどちらかを常に忘れるtzcnt
)と(一種の)下位互換性があるため、例外は発生しません。 bsf
bsr
サポートがある場合、それはAVX
サポートを意味BMI1
しますか?
記録として、現在テストしている CPU に AVX2 はありません。