Hello,
I'm using an ARMv8 processor in 32 bit ARMv7 compatibility mode.
I would like to know if there is any difference (performance gain) in ARMv8 running in AArch32 mode Vs running the same on an an ARMv7.
Thanks!
Hi,
I have moved this question to the 'Processor Discussions' section to try and help obtain an answer for you.
Kind Regards,
Ryan Thomas
That's actually an interesting question. Is there some overhead or some slight performance loss due to using the ARMv7 mode of ARMv8 processors ?
I think this question is only interesting if you use a AArch32-only CPU like the Cortex-A32. On CPUs which also have 64bit mode, the AArch32 part is for legacy code only and then a minimal plus or minus of performance should not matter. See, Apple wants all apps to be 64bit (likely because the next A11X will no longer have the AArch32 part).
Edited: Cortex-A35->Cortex-A32
Oh for sure, it'd be better to develop ARMv8 specific code on ARMv8. Having the ability to use ~28 64 bits registers (32 - special ones), instead of ~10 (or 7 in Thumb2) 32 bits registers is clearly a game changer.
However, I'd still like to know if there's a real performance loss (like 10% or more) when running ARMv7 code on ARMv8. Just in case I'd have to develop some ARM assembly specific algorithm that work on phones AND common SoC (RPi and such).
I too would like to know. We have legacy ARMv7 code that runs correctly. The question then becomes is it worth the effort to convert all that code to ARMv8. Will there be a significant performance improvement to justify the conversion effort?