about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2021-07-28 22:48:45 +0200
committerNikita Popov <nikita.ppv@gmail.com>2021-08-16 18:28:18 +0200
commitb5cc03b71ad1c33417ba31f8f2988328e34dac25 (patch)
treef5656389dee45ab408f7b584ede53f8edcbac743 /compiler/rustc_codegen_llvm
parent6eaf227ce15c37dedb07696209dab03629990204 (diff)
downloadrust-b5cc03b71ad1c33417ba31f8f2988328e34dac25.tar.gz
rust-b5cc03b71ad1c33417ba31f8f2988328e34dac25.zip
Update powerpc64 data layout
Diffstat (limited to 'compiler/rustc_codegen_llvm')
-rw-r--r--compiler/rustc_codegen_llvm/src/context.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/compiler/rustc_codegen_llvm/src/context.rs b/compiler/rustc_codegen_llvm/src/context.rs
index e204606443a..a469a13bc72 100644
--- a/compiler/rustc_codegen_llvm/src/context.rs
+++ b/compiler/rustc_codegen_llvm/src/context.rs
@@ -115,10 +115,6 @@ fn to_llvm_tls_model(tls_model: TlsModel) -> llvm::ThreadLocalMode {
     }
 }
 
-fn strip_powerpc64_vectors(data_layout: String) -> String {
-    data_layout.replace("-v256:256:256-v512:512:512", "")
-}
-
 pub unsafe fn create_module(
     tcx: TyCtxt<'_>,
     llcx: &'ll llvm::Context,
@@ -130,9 +126,12 @@ pub unsafe fn create_module(
 
     let mut target_data_layout = sess.target.data_layout.clone();
     if llvm_util::get_version() < (12, 0, 0) && sess.target.arch == "powerpc64" {
-        target_data_layout = strip_powerpc64_vectors(target_data_layout);
+        target_data_layout = target_data_layout.replace("-v256:256:256-v512:512:512", "");
     }
     if llvm_util::get_version() < (13, 0, 0) {
+        if sess.target.arch == "powerpc64" {
+            target_data_layout = target_data_layout.replace("-S128", "");
+        }
         if sess.target.arch == "wasm32" {
             target_data_layout = "e-m:e-p:32:32-i64:64-n32:64-S128".to_string();
         }