diff options
| author | Ralph Giles <giles@mozilla.com> | 2016-12-16 10:54:48 -0800 |
|---|---|---|
| committer | Ralph Giles <giles@mozilla.com> | 2016-12-16 10:54:48 -0800 |
| commit | e900f6c7fe8c077f3a94500c70eee9cfaaa8eff5 (patch) | |
| tree | c255e7f8d5c0cc7f41b79a72f66b71761fbbe775 | |
| parent | d250169cb5a96481a3e7c8f9fe05de49f60e5ae5 (diff) | |
| download | rust-e900f6c7fe8c077f3a94500c70eee9cfaaa8eff5.tar.gz rust-e900f6c7fe8c077f3a94500c70eee9cfaaa8eff5.zip | |
rustc: Disable NEON on armv7 android.
We thought Google's ABI for arvm7 required neon, but it is currently optional, perhaps because there is a significant population of Tegra 2 devices still in use. This turns off neon code generation outside #[target-feature] blocks just like we do on armv7-unknown-linux-gnu, but unlike most other armv7 targets. LLVM defaults to +neon for this target, so an explicit disable is necessary. See https://developer.android.com/ndk/guides/abis.html#v7a for instruction set extension requirements. Closes #38402.
| -rw-r--r-- | src/librustc_back/target/armv7_linux_androideabi.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/librustc_back/target/armv7_linux_androideabi.rs b/src/librustc_back/target/armv7_linux_androideabi.rs index 42f0deaa3fb..598b961a304 100644 --- a/src/librustc_back/target/armv7_linux_androideabi.rs +++ b/src/librustc_back/target/armv7_linux_androideabi.rs @@ -1,4 +1,4 @@ -// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// Copyright 2016 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // @@ -12,7 +12,7 @@ use target::{Target, TargetOptions, TargetResult}; pub fn target() -> TargetResult { let mut base = super::android_base::opts(); - base.features = "+v7,+thumb2,+vfp3,+d16".to_string(); + base.features = "+v7,+thumb2,+vfp3,+d16,-neon".to_string(); base.max_atomic_width = Some(64); Ok(Target { |
