问题
Xcode 10.1 mention Support for arm64e (Preview). Anyone have any idea about arm64e. Any difference between arm64 and arm64e.
https://developer.apple.com/documentation/xcode_release_notes/xcode_10_1_beta_2_release_notes?language=objc
I searched arm64e. But couldn't found proper explanation.
回答1:
The arm64e architecture is used on the A12 chipset, which is added in the latest 2018 iPhone models (XS/XS Max/XR). The code compiles to ARMv8.3, which brings support for new features. Namely:
- Pointer authentication
- Nested virtualization
- Advanced SIMD complex number support
- Improved Javascript data type conversion support
- A change to the memory consistency model
- ID mechanism support for larger system-visible caches
The A12 features an Apple-designed 64-bit ARMv8.3-A six-core CPU
https://en.wikipedia.org/wiki/Apple_A12
Read more about the architecture here as well:
https://community.arm.com/processors/b/blog/posts/armv8-a-architecture-2016-additions
回答2:
To test arm64e with an app, update the Architectures
setting in Build Settings
. More details at https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication.
Note that if you have CocoaPods dependencies, all of the Pods build targets must be similarly changed.
If any of the CocoaPods dependencies are binary instead of source pods, make a request to the vendor like https://github.com/firebase/firebase-ios-sdk/issues/4110
回答3:
arm64
vs arm64e
Both are ABIs (lower level APIs) which compile to instructions (defined by an ISA/ instruction set architecture). arm64e is used on Mac M1's and iPhones. The differences between them are the points in Giovanni's answer.
arm64e
vs ARMv8.3
?
Both are ambiguously called "architectures". arm64e
is not an ISA but an ABI (Application binary interface), and ARMv8.3 is an ARM ISA (technically an extension to AArch64).
In summary, arm64e
is an ABI (often called architecture, but not ISA), which compiles to a real ISA. The new Apple devices run on arm64e, including M1 macs.
来源:https://stackoverflow.com/questions/52624308/xcode-arm64-vs-arm64e