hasan
hasan

Reputation: 24195

Are armv8 and arm64 the same?

In xcode which is the developement environment for iOS. When creating a new project. Build settings states that it supports armv7, armv7s and arm64 architectures.

The following chart shows apple devices architectures: enter image description here

armv8 not mentioned anywhere. Does that mean armv8 and arm64 is the same thing?

I wonna use the following binary: http://www.libjpeg-turbo.org/Documentation/OfficialBinaries

It says that version 1.5.1 of this binary supports armv8 architecture. That also indicates that armv8 and arm64 are the same thing.

Another question but about the binary. Does the link indicates that its safe to use the 1.5.1 version for iOS?

Upvotes: 25

Views: 45688

Answers (3)

Edward Soto
Edward Soto

Reputation: 1

ARM ISA structure

Basically the 32-bit armv8-A instructions are called AArch32 and are fully compatible with ARMv7-A (32-bit), armv8-A is not the same as arm64 since this refers specifically to the AArch64 instructions contained within the armv8-A instruction set. See the image above

Upvotes: 0

User Rebo
User Rebo

Reputation: 4630

No, the ARMv8-A instruction set (armv8) can also exist on 32-bit architecture, although I'm not aware of one example. So technically you can differentiate between them, like done in docker:

Upvotes: 10

Notlikethat
Notlikethat

Reputation: 20984

Oh, ambiguous terminology - "architecture" in this context doesn't actually mean architecture in the sense of the ISA or system architecture laid down by ARM, what it really means is "iOS target", i.e. a particular system configuration and level of ISA support:

  • "armv7" represents a certain configuration of the ARMv7-A architecture.
  • "armv7s" represents a slightly different configuration of the ARMv7-A architecture, with more optional features present over the base "armv7" target.
  • "arm64" represents the AArch64 state of the ARMv8-A architecture; there is no "armv8" target.

Upvotes: 25

Related Questions