4.11 C コードの最適化のための Texas Instruments(TI)C55x コンパイラ組み込み関数

ARM Compilation Tools では、選択した TI C55x コンパイラ組み込み関数のエミュレーションがサポートされます。

TI C55x コンパイラでは、C コードの最適化のために複数のコンパイラ組み込み関数が認識されます。ARM Compilation Tools では、ヘッダファイル c55x.h を使用して、選択した TI C55x コンパイラ組み込み関数のエミュレーションがサポートされます。
c55x.h には、ARM Compilation Tools でエミュレートされる TI C55x コンパイラ組み込み関数の完全なリストが含まれています。
c55x.h でエミュレートされる TI C55x コンパイラ組み込み関数には以下があります。
  • _sadd_ssub など、加算、減算、否定、および絶対値などの コンパイラ組み込み関数。たとえば、_sadd(v1, v2)v1 および v2 の 16 ビットのサチュレート和を返します。
  • _smpy_sshl など、乗算およびシフトのコンパイラ組み込み関数。たとえば、_smpy(v1, v2)v1 および v2 のサチュレート小数部モードの積を返します。
  • _round_count など、丸め、サチュレーション、ビット数、極値の コンパイラ組み込み関数。以下に例を示します。 _round(v1) は非サチュレート算術を使用して、215 を加算し、下位の 16 ビットをクリアすることにより、丸めた値 v1 を返します。
  • 加算および積和のコンパイラ組み込み関数の関連バリアント。これには _a_sadd および _a_smac など、接頭辞 _a_ の付いた すべての TI C55x コンパイラ組み込み関数が含まれます。
  • _smacr および _smasr など、乗算およびシフトの コンパイラ組み込み関数の丸めバリアント。
c55x.h では、以下の TI C55x 命令はサポートされていません。
  • コンパイラ組み込み関数のすべての longlong バリアント。これには _llsadd および _llshl など、接頭辞 _ll の付いたすべての TI C55x コンパイラ組み込み関数 が含まれます。コンパイラ組み込み関数の long long バリアントは 40 ビットデータで動作するため、ARM Compilation Tools ではサポートされていません。
  • 副作用のあるすべての算術コンパイラ組み込み関数。たとえば、TI C55x コンパイラ組み込み関数 _firs および _lms は、 c55x.h では定義されていません。
  • L_add_c および L_sub_c などの、ETSI サポート関数のコンパイラ組み込み関数。

    サチュレート除算の ETSI サポート関数 divs は例外です。このコンパイラ組み込み関数は、 c55x.h でサポートされています。
関連する概念
4.1 コンパイラ組み込み関数
4.5 IRQ 割り込みと FIQ 割り込みの制御のためのコンパイラ組み込み関数
4.12 コンパイラで提供される NEON 組み込み関数
4.9 European Telecommunications Standards Institute(ETSI)の基本操作に対するコンパイラサポート
関連する参考文書
4.2 コンパイラ組み込み関数のパフォーマンス上の利点
4.3 ARM アセンブラ命令の組み込み
関連情報
Texas Instruments、http://www.ti.com
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.