| |||
| Home > ARMv6 SIMD Instruction Intrinsics > __usat16 intrinsic | |||
This intrinsic inserts a USAT16 instruction into
the instruction stream generated by the compiler. It enables 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 intval1, /* constant */ unsigned intval2)
Where:
val1holds the two 16-bit values that are to be saturated
val2specifies the bit position for saturation, and must be an integral constant expression.
The __usat16 intrinsic returns the saturation
of the two signed 16-bit values, as non-negative values.
Example:
unsigned int saturate_halfwords(unsigned int val1, unsigned int val2)
{
unsigned int res;
res = __usax(val1,val2); /* Saturate halfwords in val1 to the unsigned
range specified by the bit position in val2
*/ return res;
}
Instruction summary in the Assembler Reference
SSAT16 and USAT16 in the Assembler Reference.