about summary refs log tree commit diff
path: root/compiler/rustc_codegen_cranelift/patches
diff options
context:
space:
mode:
authorbjorn3 <bjorn3@users.noreply.github.com>2021-09-19 13:56:58 +0200
committerbjorn3 <bjorn3@users.noreply.github.com>2021-09-19 13:56:58 +0200
commit86f9bcfb8e5863fe51699dc9edebe76fb97078d2 (patch)
tree3f110c9ed653fc4224a3ae1a93ddede8ce9d004a /compiler/rustc_codegen_cranelift/patches
parent7a3d1a5f3dfeaf5177885fedd7db8ecc70670dc1 (diff)
parent61667dedf55e3e5aa584f7ae2bd0471336b92ce9 (diff)
downloadrust-86f9bcfb8e5863fe51699dc9edebe76fb97078d2.tar.gz
rust-86f9bcfb8e5863fe51699dc9edebe76fb97078d2.zip
Merge commit '61667dedf55e3e5aa584f7ae2bd0471336b92ce9' into sync_cg_clif-2021-09-19
Diffstat (limited to 'compiler/rustc_codegen_cranelift/patches')
-rw-r--r--compiler/rustc_codegen_cranelift/patches/0001-portable-simd-Disable-unsupported-tests.patch (renamed from compiler/rustc_codegen_cranelift/patches/0001-stdsimd-Disable-unsupported-tests.patch)51
-rw-r--r--compiler/rustc_codegen_cranelift/patches/0027-sysroot-128bit-atomic-operations.patch41
2 files changed, 56 insertions, 36 deletions
diff --git a/compiler/rustc_codegen_cranelift/patches/0001-stdsimd-Disable-unsupported-tests.patch b/compiler/rustc_codegen_cranelift/patches/0001-portable-simd-Disable-unsupported-tests.patch
index 731c60fda58..2e683694663 100644
--- a/compiler/rustc_codegen_cranelift/patches/0001-stdsimd-Disable-unsupported-tests.patch
+++ b/compiler/rustc_codegen_cranelift/patches/0001-portable-simd-Disable-unsupported-tests.patch
@@ -4,21 +4,20 @@ Date: Sun, 25 Jul 2021 18:39:31 +0200
 Subject: [PATCH] Disable unsupported tests
 
 ---
- crates/core_simd/src/array.rs        |  2 ++
- crates/core_simd/src/lib.rs          |  2 +-
+ crates/core_simd/src/vector.rs        |  2 ++
  crates/core_simd/src/math.rs         |  4 ++++
  crates/core_simd/tests/masks.rs      | 12 ------------
  crates/core_simd/tests/ops_macros.rs |  6 ++++++
  crates/core_simd/tests/round.rs      |  2 ++
  6 files changed, 15 insertions(+), 13 deletions(-)
 
-diff --git a/crates/core_simd/src/array.rs b/crates/core_simd/src/array.rs
+diff --git a/crates/core_simd/src/vector.rs b/crates/core_simd/src/vector.rs
 index 25c5309..2b3d819 100644
---- a/crates/core_simd/src/array.rs
-+++ b/crates/core_simd/src/array.rs
+--- a/crates/core_simd/src/vector.rs
++++ b/crates/core_simd/src/vector.rs
 @@ -22,6 +22,7 @@ where
-     #[must_use]
-     fn splat(val: Self::Scalar) -> Self;
+         self.0
+     }
  
 +    /*
      /// SIMD gather: construct a SIMD vector by reading from a slice, using potentially discontiguous indices.
@@ -31,27 +30,14 @@ index 25c5309..2b3d819 100644
 +    */
  }
  
- macro_rules! impl_simdarray_for {
-diff --git a/crates/core_simd/src/lib.rs b/crates/core_simd/src/lib.rs
-index a64904d..299eb11 100644
---- a/crates/core_simd/src/lib.rs
-+++ b/crates/core_simd/src/lib.rs
-@@ -1,7 +1,7 @@
- #![no_std]
- #![allow(incomplete_features)]
- #![feature(
--    const_generics, 
-+    const_generics,
-     platform_intrinsics,
-     repr_simd,
-     simd_ffi,
+ impl<T, const LANES: usize> Copy for Simd<T, LANES>
 diff --git a/crates/core_simd/src/math.rs b/crates/core_simd/src/math.rs
 index 7290a28..e394730 100644
 --- a/crates/core_simd/src/math.rs
 +++ b/crates/core_simd/src/math.rs
 @@ -2,6 +2,7 @@ macro_rules! impl_uint_arith {
-     ($(($name:ident, $n:ident)),+) => {
-         $( impl<const LANES: usize> $name<LANES> where Self: crate::LanesAtMost32 {
+     ($($ty:ty),+) => {
+         $( impl<const LANES: usize> Simd<$ty, LANES> where LaneCount<LANES>: SupportedLaneCount {
  
 +            /*
              /// Lanewise saturating add.
@@ -66,8 +52,8 @@ index 7290a28..e394730 100644
      }
  }
 @@ -46,6 +48,7 @@ macro_rules! impl_int_arith {
-     ($(($name:ident, $n:ident)),+) => {
-         $( impl<const LANES: usize> $name<LANES> where Self: crate::LanesAtMost32 {
+     ($($ty:ty),+) => {
+         $( impl<const LANES: usize> Simd<$ty, LANES> where LaneCount<LANES>: SupportedLaneCount {
  
 +            /*
              /// Lanewise saturating add.
@@ -85,21 +71,22 @@ diff --git a/crates/core_simd/tests/masks.rs b/crates/core_simd/tests/masks.rs
 index 61d8e44..2bccae2 100644
 --- a/crates/core_simd/tests/masks.rs
 +++ b/crates/core_simd/tests/masks.rs
-@@ -67,18 +67,6 @@ macro_rules! test_mask_api {
+@@ -67,19 +67,6 @@ macro_rules! test_mask_api {
                  assert_eq!(int.to_array(), [-1, 0, 0, -1, 0, 0, -1, 0]);
-                 assert_eq!(core_simd::$name::<8>::from_int(int), mask);
+                 assert_eq!(core_simd::Mask::<$type, 8>::from_int(int), mask);
              }
 -
+-            #[cfg(feature = "generic_const_exprs")]
 -            #[test]
 -            fn roundtrip_bitmask_conversion() {
 -                let values = [
 -                    true, false, false, true, false, false, true, false,
 -                    true, true, false, false, false, false, false, true,
 -                ];
--                let mask = core_simd::$name::<16>::from_array(values);
+-                let mask = core_simd::Mask::<$type, 16>::from_array(values);
 -                let bitmask = mask.to_bitmask();
 -                assert_eq!(bitmask, [0b01001001, 0b10000011]);
--                assert_eq!(core_simd::$name::<16>::from_bitmask(bitmask), mask);
+-                assert_eq!(core_simd::Mask::<$type, 16>::from_bitmask(bitmask), mask);
 -            }
          }
      }
@@ -122,7 +109,7 @@ index cb39e73..fc0ebe1 100644
                  }
 +                */
  
-                 fn sqrt<const LANES: usize>() {
+                 fn recip<const LANES: usize>() {
                      test_helpers::test_unary_elementwise(
 @@ -581,6 +585,7 @@ macro_rules! impl_float_tests {
                      });
@@ -138,8 +125,8 @@ index cb39e73..fc0ebe1 100644
                  }
 +                */
              }
-         }
-     }
+ 
+             #[cfg(feature = "std")]
 diff --git a/crates/core_simd/tests/round.rs b/crates/core_simd/tests/round.rs
 index 37044a7..4cdc6b7 100644
 --- a/crates/core_simd/tests/round.rs
diff --git a/compiler/rustc_codegen_cranelift/patches/0027-sysroot-128bit-atomic-operations.patch b/compiler/rustc_codegen_cranelift/patches/0027-sysroot-128bit-atomic-operations.patch
index cda8153083c..e2d07bd1267 100644
--- a/compiler/rustc_codegen_cranelift/patches/0027-sysroot-128bit-atomic-operations.patch
+++ b/compiler/rustc_codegen_cranelift/patches/0027-sysroot-128bit-atomic-operations.patch
@@ -1,4 +1,4 @@
-From 6a4e6f5dc8c8a529a822eb9b57f9e57519595439 Mon Sep 17 00:00:00 2001
+From ad7ffe71baba46865f2e65266ab025920dfdc20b Mon Sep 17 00:00:00 2001
 From: bjorn3 <bjorn3@users.noreply.github.com>
 Date: Thu, 18 Feb 2021 18:45:28 +0100
 Subject: [PATCH] Disable 128bit atomic operations
@@ -8,7 +8,8 @@ Cranelift doesn't support them yet
  library/core/src/panic/unwind_safe.rs |  6 -----
  library/core/src/sync/atomic.rs       | 38 ---------------------------
  library/core/tests/atomic.rs          |  4 ---
- 3 files changed, 48 deletions(-)
+ library/std/src/time/monotonic.rs     |  6 +++--
+ 4 files changed, 4 insertions(+), 50 deletions(-)
 
 diff --git a/library/core/src/panic/unwind_safe.rs b/library/core/src/panic/unwind_safe.rs
 index 092b7cf..158cf71 100644
@@ -35,10 +36,10 @@ index 092b7cf..158cf71 100644
  #[cfg(target_has_atomic_load_store = "8")]
  #[stable(feature = "unwind_safe_atomic_refs", since = "1.14.0")]
 diff --git a/library/core/src/sync/atomic.rs b/library/core/src/sync/atomic.rs
-index 0194c58..25a0038 100644
+index d9de37e..8293fce 100644
 --- a/library/core/src/sync/atomic.rs
 +++ b/library/core/src/sync/atomic.rs
-@@ -2229,44 +2229,6 @@ atomic_int! {
+@@ -2234,44 +2234,6 @@ atomic_int! {
      "AtomicU64::new(0)",
      u64 AtomicU64 ATOMIC_U64_INIT
  }
@@ -98,6 +99,38 @@ index b735957..ea728b6 100644
      #[cfg(target_has_atomic = "ptr")]
      assert_eq!(align_of::<AtomicUsize>(), size_of::<AtomicUsize>());
      #[cfg(target_has_atomic = "ptr")]
+diff --git a/library/std/src/time/monotonic.rs b/library/std/src/time/monotonic.rs
+index fa96b7a..2854f9c 100644
+--- a/library/std/src/time/monotonic.rs
++++ b/library/std/src/time/monotonic.rs
+@@ -5,7 +5,7 @@ pub(super) fn monotonize(raw: time::Instant) -> time::Instant {
+     inner::monotonize(raw)
+ }
+ 
+-#[cfg(all(target_has_atomic = "64", not(target_has_atomic = "128")))]
++#[cfg(target_has_atomic = "64")]
+ pub mod inner {
+     use crate::sync::atomic::AtomicU64;
+     use crate::sync::atomic::Ordering::*;
+@@ -70,6 +70,7 @@ pub mod inner {
+     }
+ }
+ 
++/*
+ #[cfg(target_has_atomic = "128")]
+ pub mod inner {
+     use crate::sync::atomic::AtomicU128;
+@@ -94,8 +95,9 @@ pub mod inner {
+         ZERO.checked_add_duration(&Duration::new(secs, nanos)).unwrap()
+     }
+ }
++*/
+ 
+-#[cfg(not(any(target_has_atomic = "64", target_has_atomic = "128")))]
++#[cfg(not(target_has_atomic = "64"))]
+ pub mod inner {
+     use crate::cmp;
+     use crate::sys::time;
 -- 
 2.26.2.7.g19db9cfb68