ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
支持以下内置函数:
__builtin_frame_address() 函数始终返回 0,除非参数是常数零。
仅当启用了硬件浮点支持时,才支持 __builtin_sqrt() 和 __builtin_sqrtf() 函数。此外,如果 --float_support 设置为 fpv4spd16,则不支持 __builtin_sqrt() 函数。
调用运行时可能不可用的内置函数时,请使用以下示例中所示的 Clang __has_builtin 宏命令,以确保该函数受支持:
#if __has_builtin(__builtin_sqrt)
double estimate = __builtin_sqrt(x);
#else
double estimate = fast_approximate_sqrt(x);
#endif
如果支持内置函数,且设备具有适当的硬件支持,则内置函数将调用硬件支持。
如果支持内置函数,但设备未启用相应的硬件,则内置函数通常会成为对 RTS 库函数的调用。例如,__builtin_sqrt() 将成为对库函数 sqrt() 的调用。
__builtin_return_address() 函数始终返回零。