Skip to content

[neon] reciprocal square-root estimate #121

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

Merged
merged 1 commit into from
Oct 18, 2017
Merged

Conversation

gnzlbg
Copy link
Contributor

@gnzlbg gnzlbg commented Oct 14, 2017

No description provided.

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Oct 14, 2017

Do not merge. @alexcrichton for some reason cfg_target_feature is not detecting that neon is enabled (e.g. in aarch64 the neon tests are not running). If I disable the neon checks in arm/mod.rs the tests in aarch64 run and pass, but the arm-v6 and arm-v7 builds fail with a code-gen error. I thought that neon was orthogonal to aarch64 but from this error it seems that LLVM can only generate neon instructions for aarch64. @japaric do you have any experience with any of this?

@alexcrichton
Copy link
Member

I think you can test this out locally via:

$ rustc +nightly -C target-feature=+neon --print cfg --target aarch64-unknown-linux-gnu
debug_assertions
target_arch="aarch64"
target_endian="little"
target_env="gnu"
target_family="unix"
target_has_atomic="128"
target_has_atomic="16"
target_has_atomic="32"
target_has_atomic="64"
target_has_atomic="8"
target_has_atomic="ptr"
target_os="linux"
target_pointer_width="64"
target_thread_local
target_vendor="unknown"
unix

(note the lack of neon)

unlike...

$ rustc +nightly -C target-feature=+neon --print cfg --target arm-unknown-linux-gnueabi
debug_assertions
target_arch="arm"
target_endian="little"
target_env="gnu"
target_family="unix"
target_feature="neon"
target_feature="vfp2"
target_feature="vfp3"
target_has_atomic="16"
target_has_atomic="32"
target_has_atomic="64"
target_has_atomic="8"
target_has_atomic="ptr"
target_os="linux"
target_pointer_width="32"
target_thread_local
target_vendor="unknown"
unix

Note the presence of neon!

Which leads me to conclude that this may be an upstream bug!

@gnzlbg
Copy link
Contributor Author

gnzlbg commented Oct 15, 2017

@alexcrichton
Copy link
Member

👍

@alexcrichton
Copy link
Member

Support is on master and looks like tests are green! I'll merge.

@alexcrichton alexcrichton merged commit b2028d5 into rust-lang:master Oct 18, 2017
pythoneer pushed a commit to pythoneer/stdsimd that referenced this pull request Oct 19, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants