Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Differences between arm64 and aarch64

People also ask

Why is AArch64 not arm64?

Because ARM decided to "relabel" their 32-bit architecture as AArch32 and the 64b one as AArch64, and most people just followed with that to avoid confusion. Furthermore "ARM64" collides a slight bit with ISA revisions naming scheme, which is of the form ARMvX-<variant>.

Can AArch64 run arm64?

AArch64 and arm64 are the same thing. Does executing the binary not work for you? Executing binary doesnt work on most files.

What is the difference between x86_64 and AArch64?

On macOS, two architecture are supported: x86_64 is the architecture of Intel's 64-bit CPUs, sometimes also simply referred to as x64 . It is the architecture for all Intel Macs shipped between 2005 and 2021. arm64 is the architecture used by newer Macs built on Apple Silicon, shipped in late 2020 and beyond.

What is AArch64 used for?

AArch64 provides user-space compatibility with the existing 32-bit architecture ("AArch32" / ARMv7-A), and instruction set ("A32"). The 16-32bit Thumb instruction set is referred to as "T32" and has no 64-bit counterpart.


AArch64 is the 64-bit state introduced in the Armv8-A architecture (https://en.wikipedia.org/wiki/ARM_architecture#ARMv8-A). The 32-bit state which is backwards compatible with Armv7-A and previous 32-bit Arm architectures is referred to as AArch32. Therefore the GNU triplet for the 64-bit ISA is aarch64. The Linux kernel community chose to call their port of the kernel to this architecture arm64 rather than aarch64, so that's where some of the arm64 usage comes from.

As far as I know the Apple backend for aarch64 was called arm64 whereas the LLVM community-developed backend was called aarch64 (as it is the canonical name for the 64-bit ISA) and later the two were merged and the backend now is called aarch64.

So AArch64 and ARM64 refer to the same thing.


It seems that ARM64 was created by Apple and AARCH64 by the others, most notably GNU/GCC guys.

After some googling I found this link:

The LLVM 64-bit ARM64/AArch64 Back-Ends Have Merged

So it makes sense, iPad calls itself ARM64, as Apple is using LLVM, and Edge uses AARCH64, as Android is using GNU GCC toolchain.