about summary refs log tree commit diff
diff options
context:
space:
mode:
authorkennytm <kennytm@gmail.com>2017-11-29 18:37:50 +0800
committerGitHub <noreply@github.com>2017-11-29 18:37:50 +0800
commita19c13a698a497a0ed97241e9b233bc2309364cd (patch)
tree4fce71e46d3c4f414968de1db419d7a913468537
parentfc9abbd7b73ae2ba5ba97ad158e8f1ff664bd9bf (diff)
parent32a36d8f6ead214fc6632bcb536e4df731a294f7 (diff)
downloadrust-a19c13a698a497a0ed97241e9b233bc2309364cd.tar.gz
rust-a19c13a698a497a0ed97241e9b233bc2309364cd.zip
Rollup merge of #46322 - gnzlbg:mmx, r=alexcrichton
white list MMX and MSA target features

r? @alexcrichton
-rw-r--r--src/librustc_trans/llvm_util.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/librustc_trans/llvm_util.rs b/src/librustc_trans/llvm_util.rs
index 68e05d43044..a9ea96134fa 100644
--- a/src/librustc_trans/llvm_util.rs
+++ b/src/librustc_trans/llvm_util.rs
@@ -85,7 +85,7 @@ const X86_WHITELIST: &'static [&'static str] = &["avx\0", "avx2\0", "bmi\0", "bm
                                                  "avx512dq\0", "avx512er\0",
                                                  "avx512f\0", "avx512ifma\0",
                                                  "avx512pf\0", "avx512vbmi\0",
-                                                 "avx512vl\0", "avx512vpopcntdq\0"];
+                                                 "avx512vl\0", "avx512vpopcntdq\0", "mmx\0"];
 
 const HEXAGON_WHITELIST: &'static [&'static str] = &["hvx\0", "hvx-double\0"];
 
@@ -94,6 +94,8 @@ const POWERPC_WHITELIST: &'static [&'static str] = &["altivec\0",
                                                      "power8-vector\0", "power9-vector\0",
                                                      "vsx\0"];
 
+const MIPS_WHITELIST: &'static [&'static str] = &["msa\0"];
+
 pub fn target_features(sess: &Session) -> Vec<Symbol> {
     let target_machine = create_target_machine(sess);
 
@@ -102,6 +104,7 @@ pub fn target_features(sess: &Session) -> Vec<Symbol> {
         "aarch64" => AARCH64_WHITELIST,
         "x86" | "x86_64" => X86_WHITELIST,
         "hexagon" => HEXAGON_WHITELIST,
+        "mips" | "mips64" => MIPS_WHITELIST,
         "powerpc" | "powerpc64" => POWERPC_WHITELIST,
         _ => &[],
     };