4.7.48. C55x 内在函数

ARM 编译器支持某些 TI C55x 编译器内在函数的仿真。

要在您自己的代码中使用 TI C55x 内在函数,请包含标准头文件 c55x.hTable 4.15 列出了 c55x.h 中提供的内在函数。

Table 4.15. RVCT 中支持的 TI C55x 内在函数 

内在函数
_abss _lshrs _rnd _smas
_count _lsadd _norm _smpy
_divs _lsmpy _round _sneg
_labss _lsneg _roundn _sround
_lmax _lsshl _sadd _sroundn
_lmin _lssub _shl _sshl
_lnorm _max _shrs _ssub
_lshl _min _smac  

示例


#include <limits.h>

#include <stdint.h>

#include <c55x.h>       // include TI C55x intrinsics



__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);  // assembly language saturating add

    d = __qadd(a, b);     // ARM intrinsic saturating add

    e = _lsadd(a, b);     // TI C55x saturating add

    return c == d == e;   // returns 1

}

另请参阅

  • 头文件 c55x.h,以了解有关 ARM 的 C55x 内在函数实现的其他信息

  • Texas Instruments 网站上的出版物,其中提供了有关 TI 编译器内在函数的信息:http://www.ti.com

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential