8.192 --vectorize、--no_vectorize

C コードまたは C++ コードから直接 NEON ベクタ命令を生成するかどうかを指定できます。

デフォルト

デフォルトは --no_vectorize です。

制約条件

ループをベクトル化するには、以下のオプションを指定する必要があります。
--cpu=name
ターゲットプロセッサには NEON の機能が必要です。
-Otime
実行時間を短縮するための最適化の種類。
-Onum
最適化のレベル。以下のいずれかを使用する必要があります。
  • -O2 高度な最適化。これがデフォルトです。)
  • -O3 最大限の最適化。

この例では、Cortex-A8 プロセッサで自動ベクトル化を呼び出します。
armcc --vectorize --cpu=Cortex-A8 -O3 -Otime -c file.c
コマンドラインオプションの -O3 および -Otime を使用すると、ベクトル化によるパフォーマンスの向上に加えてさらに大きくパフォーマンスが向上します。

-O2 -Otime を使用してコンパイルすることもできます。ただし、コードのパフォーマンスを最大限に引き出すことができません。
関連する参考文書
8.42 --cpu=name コンパイラオプション
8.139 -Onum
8.144 -Otime
8.159 --reassociate_saturation、--no_reassociate_saturation
章 3 NEON ベクトル化コンパイラの使用
関連情報
『Introducing NEON Development Article』
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.