2015-08-06 1 views
2

Как мы знаем, бит-бит ARMv8 AArch32 полностью обратно совместим с архитектурой ARMv7. И ARMv7 имеет обратную совместимость с ARMv4, ARMv5te и ARMv6.Режим ARMv8 AArch32 имеет обратную совместимость с armv4, armv5 или armv6?

Из вышеприведенного утверждения можно сказать, что режим ARMv8 AArch32 также имеет обратную совместимость с ARMv4, ARMv5te и ARMv6. i.e Код, скомпилированный с ARMv4, ARMv5te или ARMv6, может работать в режиме ARMv8 AArch32?

+0

Ответ ДА. Если это не сработало, все приложения Android с собственным ARM-кодом не будут работать на устройствах ARM64. – BitBank

+0

Обратная совместимость применяется к инструкциям по сборке. Код, скомпилированный для ARMv4, может не работать в ARMv8 по ряду других причин. См. Http://stackoverflow.com/questions/19608570/what-parts-of-armv4-5-6-code-will-not-work-on-armv7 –

+2

Это зависит от контекста - например, от Linux/Программа пользовательского пространства для Android, единственное, что вы, возможно, заметили, - это исчезновение инструкции SWP, и даже тогда более современные 64-разрядные ядра будут эмулировать это на уровне совместимости. На системном уровне изменения в v7 несколько больше, но немодифицированный системный код v4 почти наверняка не будет работать должным образом на v6, не говоря уже о чем-нибудь позже. – Notlikethat

ответ

1

Простой ответ AARCH32 как обратно совместим с v4,5,6 столько, сколько ARM V7. Если ваш старый код ARM работал на V7, он определенно работал бы на AARCH32.

Смежные вопросы