-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
rustc: Don't enable NEON by default on armv7 Linux #35814
Conversation
r? @Aatch (rust_highfive has picked a reviewer for you, use r? to override) |
r? @brson |
@@ -23,7 +23,8 @@ pub fn target() -> TargetResult { | |||
target_vendor: "unknown".to_string(), | |||
|
|||
options: TargetOptions { | |||
features: "+v7,+vfp3,+neon".to_string(), | |||
// Info about features at https://wiki.debian.org/ArmHardFloatPort | |||
features: "+v7,+vfp3,+d16".to_string(), | |||
cpu: "cortex-a8".to_string(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How does cpu
interact with features
? Cortex-A8 has NEON, but I'm not sure what the resulting binary would contain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm yes it appears to still enable NEON! I'm not sure what cpu to use otherwise, so I've fallen back to "generic" for now and we can rely on features to enable bits I believe.
One of the primary platforms for the `armv7-unknown-linux-gnueabihf` target, Linux distributions, do not enable NEON extensions by default. This PR disables that feature by defualt but enables the `d16` feature which enables VFP3D16 that distributions do enable. Closes rust-lang#35590
0d04d61
to
1cf510d
Compare
@bors r+ |
📌 Commit 1cf510d has been approved by |
⌛ Testing commit 1cf510d with merge 163f506... |
⛄ The build was interrupted to prioritize another pull request. |
⌛ Testing commit 1cf510d with merge 8053214... |
💔 Test failed - auto-win-msvc-64-opt-no-mir |
@bors: retry On Wed, Aug 24, 2016 at 4:12 AM, bors notifications@github.com wrote:
|
⌛ Testing commit 1cf510d with merge f5499a0... |
rustc: Don't enable NEON by default on armv7 Linux One of the primary platforms for the `armv7-unknown-linux-gnueabihf` target, Linux distributions, do not enable NEON extensions by default. This PR disables that feature by defualt but enables the `d16` feature which enables VFP3D16 that distributions do enable. Closes #35590
This is a follow-up to rust-lang#35814 which apparently didn't disable it hard enough. It looks like LLVM's default armv7 target enables NEON so we'd otherwise have to pass `-neon`, but we're already enabling armv7 with `+v7` supposedly, so let's try just telling LLVM that the armv7 target is arm and then enable features selectively. Closes rust-lang#36913
rustc: Try again to disable NEON on armv7 linux This is a follow-up to #35814 which apparently didn't disable it hard enough. It looks like LLVM's default armv7 target enables NEON so we'd otherwise have to pass `-neon`, but we're already enabling armv7 with `+v7` supposedly, so let's try just telling LLVM that the armv7 target is arm and then enable features selectively. Closes #36913
One of the primary platforms for the
armv7-unknown-linux-gnueabihf
target,Linux distributions, do not enable NEON extensions by default. This PR disables
that feature by defualt but enables the
d16
feature which enables VFP3D16 thatdistributions do enable.
Closes #35590