simd
2013年06月27日
以前にgccでNEONのSIMD命令を生成させる方法という記事を書きましたが、今はかなり状況が変わっています。コンパイラのオートベクタライズの最適化はずっと進化していて、簡単なコンパイルオプションをつけるだけでNEONのSIMD命令を活用することができるようになっています。
2009年09月10日
この記事ではgcc 4.4.0を使用しています。もっと新しいgccの場合はこちら。
2013年06月27日 ARMのNEONのSIMD命令をgccのオートベクタライズの最適化で使う方法
AndroidのSDKのgoldfishのCPUをcortex-A8に置き換えてNEONのSIMD命令を試す(その2) のときにはarm_neon.hに定義されているintrinsicsを使ってNEONのSIMD命令を生成させました。この方法だとNEONの命令について詳細を知っていなければなりませんし、なによりもそのプログラムがNEONに依存したものになってしまいます。
今回はコンパイラの最適化の機能を使ってNEONのSIMD命令を生成させるコツを紹介します。