We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi,
When I read Thumb-2 instruction manual, it is not clear to me about SDIV availability. Especially I do not understand the last line "are not available in ARM state."
Could you explain it to me?
Thanks,
New functionality introduced with Thumb-2
Some new 32-bit instructions are introduced in both Thumb and ARM. These are described in New 32-bit
Thumb instructions on page 1-4 and New 32-bit ARM instructions on page 1-6.
In addition, there are two new 32-bit Thumb instructions with restricted availability:
SDIV Signed Divide
UDIV Unsigned Divide.
These two instructions are only available in ARMv7-R implementations, and are not available in ARM state.
I'm afraid having SDIV supported in Thumb mode but not ARM mode for some processors is one of the stranger things ARM has done. Here is a previous discussion about it
Divide and Conquer
Hello,
the processors developed after Cortex-A15 (including Cortex-A15) support SDIV/UDIV instructions in the ARM mode although they are ARMv7-A implementation.
Best regards,
Yasuhiko Koumoto.