4.2 コンパイラ組み込み関数のパフォーマンス上の利点

コンパイラ組み込み関数を使用すると、以下のようなパフォーマンス上の多くの利点が得られます。

  • コンパイラ組み込み関数をローレベルのコンパイラ組み込み関数に置き換えると、C または C++ での対応する実装よりも効率が良くなり、命令数とサイクル数の両方が削減されます。コンパイラ組み込み関数を実装するために、コンパイラでは指定されたターゲットアーキテクチャに対して最適な命令のシーケンスが自動的に生成されます。例えば、L_add 組み込み関数は、ARM アセンブリ言語命令 qadd に直接対応します。
    QADD r0, r0, r1    /* エントリ時に r0 = a、r1 = b と想定 */
    
  • コンパイラには、ベースとなっている C および C++ 言語の伝達能力を超えた多くの情報が渡されます。これにより、コンパイラは通常であれば実行不可能な最適化を実行し、命令シーケンスを生成します。
パフォーマンス上のこれらの利点は、リアルタイム処理アプリケーションにとっては重要です。ただし、コンパイラ組み込み関数を使用するとコードの移植性が低下するため、注意して使用する必要があります。
関連する概念
4.1 コンパイラ組み込み関数
4.5 IRQ 割り込みと FIQ 割り込みの制御のためのコンパイラ組み込み関数
4.12 コンパイラで提供される NEON 組み込み関数
4.9 European Telecommunications Standards Institute(ETSI)の基本操作に対するコンパイラサポート
4.11 C コードの最適化のための Texas Instruments(TI)C55x コンパイラ組み込み関数
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.