12.56 __usat16 intrinsic
This intrinsic inserts a
USAT16 instruction into the instruction stream generated by the compiler.
you to saturate two signed 16-bit values to a selected unsigned
range. The Q flag is set if either operation saturates.
unsigned int __usat16(unsigned int
, /* constant */ unsigned int
holds the two 16-bit values that are to be saturated
specifies the bit position for saturation, and must
be an integral constant expression.
__usat16 intrinsic returns the saturation
of the two signed 16-bit values, as non-negative values.
unsigned int saturate_halfwords(unsigned int val1)
unsigned int res;
#define VAL2 12
res = __usat16(val1,VAL2); /* Saturate halfwords in val1 to the unsigned
range specified by the bit position in VAL2