Part Number: TMS570LC4357
Hi,
according to the ARM Technical Reference Manual, the ARM Cortex R5F supports UDIV/SDIV instructions in both Thumb and ARM modes, beginning with Cortex-R5 r1p0. See also here.
According to this post in this support forum here, the TMS570LC4357 uses Revision r1p2 of the Cortex R5F, so it should support UDIV/SDIV instructions in both Thumb and ARM modes.
However, I never see the TI C compiler (I tested version v20.2.1.LTS) actually emitting UDIV/SDIV instructions although I do set --silicon_version=7R5.
The compiler always calls __aeabi_idivmod.
To my understanding, it would be definitely safe to emit them in Thumb mode because all R5Fs support it (according to the ARM Technical Reference Manual).
In ARM mode, I can see that setting --silicon_version=7R5 is not specific enough to allow emitting UDIV/SDIV because I would also have to tell the compiler the revision of the core I'm targeting to be sure that the generated code can actually run. However, I did not find documentation about such a switch in the manual.
Is there any way of getting the TI C compiler to actually emit those instructions in Thumb and/or ARM mode when I know that I'm using the TMS570 with a core that supports those instructions?
It would be great if someone could clarify this situation, thanks a lot in advance!