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

rustc: Don't enable NEON by default on armv7 Linux #35814

Merged
merged 1 commit into from
Aug 25, 2016

Conversation

alexcrichton
Copy link
Member

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

@rust-highfive
Copy link
Collaborator

r? @Aatch

(rust_highfive has picked a reviewer for you, use r? to override)

@alexcrichton
Copy link
Member Author

r? @brson

@rust-highfive rust-highfive assigned brson and unassigned Aatch Aug 19, 2016
@@ -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(),
Copy link
Contributor

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.

Copy link
Member Author

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
@brson
Copy link
Contributor

brson commented Aug 24, 2016

@bors r+

@bors
Copy link
Contributor

bors commented Aug 24, 2016

📌 Commit 1cf510d has been approved by brson

@bors
Copy link
Contributor

bors commented Aug 24, 2016

⌛ Testing commit 1cf510d with merge 163f506...

@bors
Copy link
Contributor

bors commented Aug 24, 2016

⛄ The build was interrupted to prioritize another pull request.

@bors
Copy link
Contributor

bors commented Aug 24, 2016

⌛ Testing commit 1cf510d with merge 8053214...

@bors
Copy link
Contributor

bors commented Aug 24, 2016

💔 Test failed - auto-win-msvc-64-opt-no-mir

@alexcrichton
Copy link
Member Author

@bors: retry

On Wed, Aug 24, 2016 at 4:12 AM, bors notifications@github.com wrote:

💔 Test failed - auto-win-msvc-64-opt-no-mir
https://buildbot.rust-lang.org/builders/auto-win-msvc-64-opt-no-mir/builds/208


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#35814 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95Df7e2ZsXjE6vUqfIzkzrnseTCZ_ks5qjCcggaJpZM4JoDfo
.

@bors
Copy link
Contributor

bors commented Aug 25, 2016

⌛ Testing commit 1cf510d with merge f5499a0...

bors added a commit that referenced this pull request Aug 25, 2016
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
@bors bors merged commit 1cf510d into rust-lang:master Aug 25, 2016
@alexcrichton alexcrichton deleted the armv7-no-neon branch August 26, 2016 00:55
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Oct 4, 2016
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
bors added a commit that referenced this pull request Oct 4, 2016
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
@jminer jminer mentioned this pull request Jan 26, 2018
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.

6 participants