Does ARMv8 AArch32 mode has backward compatible with armv4 , armv5 or armv6?
Asked Answered
D

1

4

As we know that ARMv8 AArch32 bit mode is fully backward compatible with ARMv7 architecture. And ARMv7 has backward compatibly with ARMv4 , ARMv5te and ARMv6.

From above statement, can we say that ARMv8 AArch32 mode also has backward compatible with ARMv4 , ARMv5te and ARMv6. i.e Code compiled with ARMv4 , ARMv5te or ARMv6 can run on ARMv8 AArch32 mode?

Donets answered 6/8, 2015 at 6:22 Comment(4)
The answer is YES. If it didn't work, all of the Android apps with native ARM code wouldn't work on ARM64 devices.Chassis
The backwards compatibility on applies to the assembly instructions themselves. Code compiled for ARMv4 might not work on a ARMv8 for a host of other reasons. See #19609070Gunk
It depends on the context - for, say, a Linux/Android userspace program, the only thing you might possibly notice is the disappearance of the SWP instruction, and even then more recent 64-bit kernels will emulate that in the compat layer. At the system level, the changes over v7 are somewhat bigger, but unmodified v4 system code almost certainly wouldn't work properly on v6, let alone anything later.Inclose
Googlers should also keep in mind that aarch32 has some extensions over ARMv7.Gatha
D
1

Simple answer is AARCH32 is as backward compatible to v4,5,6 as much as ARM V7 is. If your legacy ARM code worked on V7 it would definitely work on AARCH32.

Demarco answered 7/8, 2015 at 18:27 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.