C55x コンパイラ組み込み関数

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

ユーザコード内で TI C55x コンパイラ組み込み関数を使用するには、標準のヘッダファイル c55x.h をインクルードします。c55x.h に提供されているコンパイラ組み込み関数は、Table 24 にリストされています。

Table 24. コンパイルツールでサポートされている TI C55x コンパイラ組み込み関数

コンパイラ組み込み関数
_a_lsadd_a_sadd_a_smac_a_smacr
_a_smas_a_smasr_abss_count
_divs_labss_lmax_lmin
_lmpy_lmpysu_lmpyu_lnorm
_lsadd_lsat_lshl_shrs
_lsmpy_lsmpyi_lsmpyr_lsmpysu
_lsmpysui_lsmpyu_lsmpyui_lsneg
_lsshl_lssub_max_min
_norm_rnd_round_roundn
_sadd_shl_shrs_smac
_smaci_smacr_smacsu_smacsui
_smas_smasi_smasr_smassu
_smassui_smpy_sneg_sround
_sroundn_sshl_ssub-

Show/hide

#include <limits.h>
#include <stdint.h>
#include <c55x.h>       // TI C55x コンパイラ組み込み関数をインクルード
__asm int32_t asm_lsadd(int32_t a, int32_t b)
{
    qadd r0, r0, r1
    bx lr}
int32_t foo(int32_t a, int32_t b)
{
    int32_t c, d, e;
    c = asm_lsadd(a, b);  // アセンブリ言語のサチュレート加算
    d = __qadd(a, b);     // ARM コンパイラ組み込み関数のサチュレート加算
    e = _lsadd(a, b);     // TI C55x のサチュレート加算
    return c == d == e;   // 1 を返す
}

Show/hide関連項目

  • ARM における C55x コンパイラ組み込み関数の実装の詳細については、ヘッダファイル c55x.h を参照して下さい。

  • TI コンパイラ組み込み関数に関する出版物は、Texas Instruments 社の Web サイト http://www.ti.com から入手できます。

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711