| |||
| Home > ARM and Thumb Instructions > Parallel instructions > SSAT16 and USAT16 | |||
Parallel halfword Saturating instructions.
SSAT16 saturates a signed value to a signed range.
USAT16 saturates a signed value to an unsigned
range.
op{cond}Rd, #sat,Rn
where:
opis one of:
SSAT16Signed saturation.
USAT16Unsigned saturation.
condis an optional condition code (see Conditional execution).
Rdis the destination register.
satspecifies the bit position to saturate to, and is in
the range 1 to 16 for SSAT16, or 0 to 15 for USAT16.
Rnis the register holding the operand.
Do not use r15 for or Rd.Rn
Halfword-wise signed and unsigned saturation to any bit position.
The SSAT16 instruction saturates each signed
halfword to the signed range -2sat-1 ≤ x ≤ 2sat-1 -1.
The USAT16 instruction saturates each signed
halfword to the unsigned range 0 ≤ x ≤ 2sat -1.
If saturation occurs on either halfword, these instructions
set the Q flag. To read the state of the Q flag, use an MRS instruction
(see MRS).
These ARM instructions are available in ARMv6 and above.
These 32-bit Thumb instructions are available in ARMv6T2 and above, except the ARMv7-M profile.
There are no 16-bit Thumb versions of these instructions.