You copied the Doc URL to your clipboard.

__usat intrinsic

This intrinsic inserts a USAT instruction into the instruction stream generated by the compiler. It enables you to saturate an unsigned value from within your C or C++ code.


int __usat(unsigned int val, unsigned int sat)



Is the value to be saturated.


Is the bit position to saturate to.

usat must be in the range 0 to 31.

Return value

The __usat intrinsic returns val saturated to the unsigned range 0 ≤ x ≤ 2sat -1.


The compiler does not recognize the __usat intrinsic when compiling for a target that does not support the USAT instruction. The compiler generates either a warning or an error in this case.

See also