此内在函数在编译器生成的指令流中插入 SSAT
指令。 它允许从 C 或 C++ 代码中饱和有符号值。
int __ssat(int val
, unsigned int sat
)
其中:
-
val
-
是要饱和的值。
-
sat
-
是要饱和到的位位置。
sat
必须在 1 到
32 范围内。
__ssat
内在函数返回饱和到有符号范围 -2sat
-1 ≤ x
≤ 2sat
-1 -1
的 val
。
为不支持 SSAT
指令的目标进行编译时,编译器无法识别 __ssat
内在函数。
在这种情况下,编译器将生成警告或错误。