armv8和arm64是一样的吗?

has*_*san 4 xcode cpu-architecture ios arm64

在xcode中,这是iOS的开发环境.创建新项目时.构建设置表明它支持armv7,armv7sarm64架构.

下图显示了Apple设备架构: 在此输入图像描述

armv8没有提到任何地方.这是否意味着armv8arm64是一回事?

我想使用以下二进制文件:http: //www.libjpeg-turbo.org/Documentation/OfficialBinaries

它说这个二进制版本1.5.1支持armv8架构.这也表明armv8和arm64是一回事.

另一个问题,但关于二进制.链接是否表明可以安全地使用适用于iOS的1.5.1版本?

Not*_*hat 10

哦,模棱两可的术语 - 在这种情况下"架构"实际上并不意味着ARM所构建的ISA或系统架构意义上的架构,它的真正含义是"iOS目标",即特定的系统配置和ISA级别支持:

  • "armv7"表示ARMv7-A架构的某种配置.
  • "armv7s"代表了ARMv7-A架构略有不同的配置,在基础"armv7"目标上有更多可选功能.
  • "arm64"表示ARMv8-A架构的AArch64状态; 没有"armv8"目标.


Use*_*ebo 9

不,ARMv8-A 指令集 ( armv8) 也可以存在于 32 位架构上,尽管我不知道有什么例子。因此从技术上讲,您可以区分它们,就像在docker中所做的那样:

  • 在 Apple 世界之外,您当然可以构建 32 位 ARM 模式或 Thumb 模式代码,以利用 ARMv8 引入 32 位模式的功能。就像`gcc -mcpu=cortex-a53`。例如,在 std::atomic 获取/释放加载与使用屏障的 ARMv7 代码的指令选择中值得注意。https://godbolt.org/z/9Y46bM (2认同)