Martin Guy wrote:
While this is currently true for existing gcc, I'm not sure it's necessarily true overall. At some cost in speed and code size, it does appear to be possible to build code for armv4, (sans "t"), which is upward compatible and also interwork safe.armv4t is the minimum instruction set required for EABI, and runs on later architectures fine.
As I understand it, all assignments to pc on armv5* have the same mode conversion as the bx instruction. This makes it possible to branch and return using more efficient instruction sequences. I think thumb is also mandated on armv5 and later, though I could be mistaken.The only difference I am aware of between the two is the introduction of a CLZ (clear block of memory to zero) instruction. The rest of the changes in the v5-implementing cores are hardware performance increases to run the same order code faster per MHz.
--rich