3.6.2 Divider
The divide block supports 32-bit/16-bit and 16-bit/16-bit signed and unsigned integer divide operations with the following data sizes:
- 32-bit signed/16-bit signed divide
- 32-bit unsigned/16-bit unsigned divide
- 16-bit signed/16-bit signed divide
- 16-bit unsigned/16-bit unsigned divide
The 16-bit signed and unsigned DIV
instructions can specify any W
register for both the 16-bit divisor (Wn) and any W register (aligned) pair (W(m +
1):Wm) for the 32-bit dividend. The divide algorithm takes one cycle per bit of divisor,
so both 32-bit/16-bit and 16-bit/16-bit instructions take the same number of cycles to
execute. There are additional instructions: DIV2
and
DIVF2
. Divide instructions will complete in six cycles.