about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorantoyo <antoyo@users.noreply.github.com>2024-04-29 11:34:59 -0400
committerGitHub <noreply@github.com>2024-04-29 11:34:59 -0400
commit0f87072fdfb67f5ecf5fe2cbff49fda9d0b21bb9 (patch)
tree2bc93c327eabef58913d538bddc4aca2c59513c7 /src
parenta79c5766e93f10b6db48d9a8a1bb4b6a36a6910a (diff)
parent9ed0543964e25d57ce2842d99e6b07d72537f8fe (diff)
downloadrust-0f87072fdfb67f5ecf5fe2cbff49fda9d0b21bb9.tar.gz
rust-0f87072fdfb67f5ecf5fe2cbff49fda9d0b21bb9.zip
Merge pull request #508 from rust-lang/fix/aarch64
Some more fixes and workarounds for Aarch64
Diffstat (limited to 'src')
-rw-r--r--src/int.rs2
-rw-r--r--src/lib.rs9
2 files changed, 8 insertions, 3 deletions
diff --git a/src/int.rs b/src/int.rs
index 1b812b4d137..b92db7a7424 100644
--- a/src/int.rs
+++ b/src/int.rs
@@ -926,7 +926,7 @@ impl<'gcc, 'tcx> CodegenCx<'gcc, 'tcx> {
             return self.context.new_cast(None, value, dest_typ);
         }
 
-        debug_assert!(value_type.dyncast_array().is_some());
+        debug_assert!(dest_typ.dyncast_array().is_some());
         let name_suffix = match self.type_kind(value_type) {
             TypeKind::Float => "sfti",
             TypeKind::Double => "dfti",
diff --git a/src/lib.rs b/src/lib.rs
index 616b1944798..af110e3ab5e 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -468,6 +468,7 @@ pub fn target_features(
     allow_unstable: bool,
     target_info: &LockedTargetInfo,
 ) -> Vec<Symbol> {
+    // TODO(antoyo): use global_gcc_features.
     sess.target
         .supported_target_features()
         .iter()
@@ -478,8 +479,12 @@ pub fn target_features(
                 None
             }
         })
-        .filter(|_feature| {
-            target_info.cpu_supports(_feature)
+        .filter(|feature| {
+            // TODO: we disable Neon for now since we don't support the LLVM intrinsics for it.
+            if *feature == "neon" {
+                return false;
+            }
+            target_info.cpu_supports(feature)
             /*
               adx, aes, avx, avx2, avx512bf16, avx512bitalg, avx512bw, avx512cd, avx512dq, avx512er, avx512f, avx512fp16, avx512ifma,
               avx512pf, avx512vbmi, avx512vbmi2, avx512vl, avx512vnni, avx512vp2intersect, avx512vpopcntdq,