5.4 コンパイル時のターゲットプロセッサの選択

コンパイル時に適切なターゲットプロセッサを選択することにより、C コードまたは C++ コードのパフォーマンスを大幅に向上できる場合が少なくありません。

通常、新しいバージョンの ARM アーキテクチャでは、追加の命令と演算モード、パイプラインの差分、およびレジスタの名前変更がサポートされています。

手順

  1. コンパイルされたプログラムを特定の ARM アーキテクチャベースプロセッサで実行するかまたはさまざまな種類の ARM プロセッサで実行するかを決定します。
  2. 以下のコンパイラコマンドラインオプションを使用して、コンパイラで認識されるターゲットプロセッサの 1 つまたは複数の名前を取得します。
    --cpu=list
    
  3. コンパイルされたプログラムを特定の ARM アーキテクチャベースのプロセッサで実行する場合で、--cpu=list オプションを使用してプロセッサの名前を取得した後は、--cpu=name コンパイラコマンドラインオプションを使用してターゲットプロセッサを選択します。
    たとえば、Cortex-A9 プロセッサ用のコードをコンパイルするには、以下のように指定します。
    armcc --cpu=Cortex-A9 myprog.c
    また、コンパイルされたプログラムをさまざまな種類の ARM プロセッサで実行する場合は、アプリケーションに適した最大公約数となるアーキテクチャを選択し、プロセッサ名の代わりにこのアーキテクチャを指定します。たとえば、ARMv6 アーキテクチャをサポートするプロセッサ用のコードをコンパイルするには、以下のように指定します。
    armcc --cpu=6 myprog.c
--cpu=name コマンドラインオプションを使用して、ターゲットプロセッサを選択すると、コンパイラで以下を実行できます。
  • 特定のプロセッサで使用可能な命令を最大限に利用できます。
  • 命令スケジューリングなどプロセッサ固有の最適化を実行します。
--cpu=list を使用すると、コンパイラがサポートするプロセッサとアーキテクチャが列挙されます。
関連する参考文書
8.41 --cpu=list
8.42 --cpu=name コンパイラオプション
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.