Could use some clarification on arm architecture s

2019-07-03 05:14发布

问题:

From what I've read, the iPhone 5 will use a new architecture, armv7s. My project had valid architectures as armv7, and had Build Active Architecture Only set to true. Since every app in the store right now is built for armv6 and/or armv7, I can't imagine that it will not run on the new iPhone. So what occurs? Does it just not run as well as it could?

I could just use a better explanation of what is occurring, and what would be different once I rebuild and submit with armv7s as a valid architecture.

回答1:

First, it's armv7, not arm7 (yes, there is a difference). I can't seem to find any docs on the specifics, but I imagine armv7s adds support for some optional ARMv7 features, e.g. VFPv4/FMA, or UDIV/SDIV integer division instructions. I can't imagine the difference will be noticeable unless your app deals with a lot of math or graphics.

Edit: see this link for the changes made to LLVM for armv7s support. From what I see, it's indeed just VFPv4 and integer divide, plus some changes to the instruction scheduler. Apparently the CPU codename is "Swift".