Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support armv7s-apple-ios (Apple A6+) targets #426

Closed
briansmith opened this issue Jan 25, 2017 · 1 comment
Closed

Support armv7s-apple-ios (Apple A6+) targets #426

briansmith opened this issue Jan 25, 2017 · 1 comment

Comments

@briansmith
Copy link
Owner

From @kali in #423 (comment):

See http://iossupportmatrix.com/

My iOS colleagues send me this link. So armv7 is not supported, but armv7s still is and will probably stay suported for about one more year. Differences are the FP unit and a hardware integer division. Not sure it is worth the trouble optimizing ring specifically for this. The compiler will do it right for rust code, only manual/generated assembly could benefit from work here...

What's the difference between armv7s and armv7? I'm not 100% sure, but I found this http://www.primatelabs.com/blog/2012/09/apple-a6/, which says:

The first difference affects integer division. The armv7s architecture has two new integer division instructions that aren't present on the armv7 architecture.

This shouldn't matter for ring in the long run, because while we currently do do division, we are removing all use of division from ring.

The second difference affect floating point arithmetic. Xcode uses different floating point arithmetic instructions for the armv7s than for the armv7.

We already shouldn't be doing any floating-point stuff in ring.

It would be useful to hear of any more differences.

I think there might not be anything for us to do here, other than make sure we stand up armv7s-apple-ios build/test environments in addition to armv7-apple-ios build/test. Note that rustc already has armv7s-apple-ios targets.

@briansmith
Copy link
Owner Author

AFAICT there's no reason to support 32-bit iOS anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant