about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm/abi.rs
diff options
context:
space:
mode:
authoroliver-giersch <oliver.giersch@googlemail.com>2018-10-15 14:38:34 +0200
committerGitHub <noreply@github.com>2018-10-15 14:38:34 +0200
commit30bfdc872020c6addcb2ea488b2a6dbdd5ef355a (patch)
tree9c2ccdcdd23848de81e3cbf54be11ea029ba1614 /src/librustc_codegen_llvm/abi.rs
parent3527d1d5298fafe6d9e480f95e47f970f1b3adc1 (diff)
parent5891a64165ea4819ca331f5a35f5318a91e1be3f (diff)
Merge pull request #5 from oliver-giersch/master
sync with upstream
Diffstat (limited to 'src/librustc_codegen_llvm/abi.rs')
-rw-r--r--src/librustc_codegen_llvm/abi.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/librustc_codegen_llvm/abi.rs b/src/librustc_codegen_llvm/abi.rs
index c8e8d0dc84e..7b93d3e795e 100644
--- a/src/librustc_codegen_llvm/abi.rs
+++ b/src/librustc_codegen_llvm/abi.rs
@@ -536,7 +536,10 @@ impl<'tcx> FnTypeExt<'tcx> for FnType<'tcx, Ty<'tcx>> {
                     // Note that the platform intrinsic ABI is exempt here as
                     // that's how we connect up to LLVM and it's unstable
                     // anyway, we control all calls to it in libstd.
-                    layout::Abi::Vector { .. } if abi != Abi::PlatformIntrinsic => {
+                    layout::Abi::Vector { .. }
+                        if abi != Abi::PlatformIntrinsic &&
+                            cx.sess().target.target.options.simd_types_indirect =>
+                    {
                         arg.make_indirect();
                         return
                     }