やりたいこと
- Intel Intrinsics Guideに載っている組み込み関数を使いたい
- 具体的には今作っているオセロAIの高速化のため
調べた環境
使い方と注意
- だいたいの(実際の実行環境で使用出来る)命令の組み込み関数は各関数で指定されたヘッダをincludeし、正しいコンパイルオプション(-march=native -mtune=nativeなど)を与えれば上手く行く
- 一部の関数(_bswapなど)はx86intirin.hをincludeしないと使えない
- x86intrin.hはコンパイルオプションに合わせて適切なヘッダを自動的にincludeするのでこれさえincludeしておけばOK
- 更にごく一部の関数(_bittestなど)はそもそも使えない
- /usr/lib/gcc/x86_64-unknown-linux-gnu/5.1.0/include以下を検索してなかったらなさそう
まとめ
- #include <x86intrin.h>
- それでダメだったらダメ
- 間違い・環境依存等あるかも