gccでNEONのSIMD命令を生成させる方法 (PC/スマートフォン向けリンク) 「gccでNEONのSIMD命令を生成させる方法」 AndroidのSDKのgoldfishのCPUをcortex-A8に置き換えてNEONのSIMD命令を試す(その2) のときにはarm_neon.hに定義されているintrinsicsを使ってNEONのSIMD命令を生成させました。この方法だとNEONの命令について詳細を知っていなければなりませんし、なによりもそのプログラムがNEONに依存したものになってしまいます。 今回はコンパイラの最適化の機能を使ってNEONのSIMD命令を生成させるコツを紹介します。 ポイントは * 配列をループで使うこと。 * その配列のポインタに __restrict の属性がついていること。( ex. void vmla2(float* __restrict a) ) コン