about summary refs log tree commit diff
path: root/library/stdarch
diff options
context:
space:
mode:
authorsayantn <sayantan.chakraborty@students.iiserpune.ac.in>2024-06-30 13:01:24 +0530
committerAmanieu d'Antras <amanieu@gmail.com>2024-06-30 21:45:56 +0200
commitfd948ee99d53bea47eb54b80d9b28c8967dbb51e (patch)
tree0fa1c5492d36a62d88b329b79734022f2afb1d90 /library/stdarch
parentfcee4d8b16ba2800e59f53e4f43469329f7d005b (diff)
downloadrust-fd948ee99d53bea47eb54b80d9b28c8967dbb51e.tar.gz
rust-fd948ee99d53bea47eb54b80d9b28c8967dbb51e.zip
Updates SDE
Updated SDE to v9.33.0
Disabled `assert-instr` in emulated run
Diffstat (limited to 'library/stdarch')
-rw-r--r--library/stdarch/.github/workflows/main.yml1
-rw-r--r--library/stdarch/ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile11
-rw-r--r--library/stdarch/crates/core_arch/src/x86/xsave.rs2
-rw-r--r--library/stdarch/crates/core_arch/src/x86_64/xsave.rs36
4 files changed, 25 insertions, 25 deletions
diff --git a/library/stdarch/.github/workflows/main.yml b/library/stdarch/.github/workflows/main.yml
index d6ea2ea2cdf..971d8c655ed 100644
--- a/library/stdarch/.github/workflows/main.yml
+++ b/library/stdarch/.github/workflows/main.yml
@@ -115,6 +115,7 @@ jobs:
           os: ubuntu-latest
           test_everything: true
           rustflags: --cfg stdarch_intel_sde
+          disable_assert_instr: true
         - target: arm-unknown-linux-gnueabihf
           os: ubuntu-latest
         - target: armv7-unknown-linux-gnueabihf
diff --git a/library/stdarch/ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile b/library/stdarch/ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile
index b7fc930523e..1a431f2e1d0 100644
--- a/library/stdarch/ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile
+++ b/library/stdarch/ci/docker/x86_64-unknown-linux-gnu-emulated/Dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:20.04
+FROM ubuntu:24.04
 RUN apt-get update && apt-get install -y --no-install-recommends \
   gcc \
   libc6-dev \
@@ -6,9 +6,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
   make \
   ca-certificates \
   wget \
-  bzip2
+  xz-utils
 
-RUN wget https://github.com/gnzlbg/intel_sde/raw/master/sde-external-8.35.0-2019-03-11-lin.tar.bz2
-RUN tar -xjf sde-external-8.35.0-2019-03-11-lin.tar.bz2
-ENV SKIP_TESTS="avx512bf16"
-ENV CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="/sde-external-8.35.0-2019-03-11-lin/sde64 -rtm_mode full --"
+RUN wget https://downloadmirror.intel.com/813591/sde-external-9.33.0-2024-01-07-lin.tar.xz
+RUN tar -xJf sde-external-9.33.0-2024-01-07-lin.tar.xz
+ENV CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="/sde-external-9.33.0-2024-01-07-lin/sde64 -future -rtm-mode full -tsx --"
diff --git a/library/stdarch/crates/core_arch/src/x86/xsave.rs b/library/stdarch/crates/core_arch/src/x86/xsave.rs
index 3ce7488dfd5..bb2323fe642 100644
--- a/library/stdarch/crates/core_arch/src/x86/xsave.rs
+++ b/library/stdarch/crates/core_arch/src/x86/xsave.rs
@@ -254,8 +254,6 @@ mod tests {
     }
     */
 
-    // FIXME: this looks like a bug in Intel's SDE:
-    #[cfg(not(stdarch_intel_sde))]
     #[simd_test(enable = "xsave,xsavec")]
     #[cfg_attr(miri, ignore)] // Register saving/restoring is not supported in Miri
     unsafe fn xsavec() {
diff --git a/library/stdarch/crates/core_arch/src/x86_64/xsave.rs b/library/stdarch/crates/core_arch/src/x86_64/xsave.rs
index 170b2b0b31f..6d8867c20d0 100644
--- a/library/stdarch/crates/core_arch/src/x86_64/xsave.rs
+++ b/library/stdarch/crates/core_arch/src/x86_64/xsave.rs
@@ -126,12 +126,12 @@ pub unsafe fn _xrstors64(mem_addr: *const u8, rs_mask: u64) {
 
 // FIXME: https://github.com/rust-lang/stdarch/issues/209
 // All these tests fail with Intel SDE.
-/*
+
 #[cfg(test)]
 mod tests {
-    use crate::core_arch::x86::x86_64::xsave;
-    use stdarch_test::simd_test;
+    use crate::core_arch::x86_64::xsave;
     use std::fmt;
+    use stdarch_test::simd_test;
 
     // FIXME: https://github.com/rust-lang/stdarch/issues/209
     #[repr(align(64))]
@@ -176,6 +176,7 @@ mod tests {
         }
     }
 
+    /*
     #[simd_test(enable = "xsave")]
     #[cfg_attr(miri, ignore)] // Register saving/restoring is not supported in Miri
     unsafe fn xsave64() {
@@ -201,6 +202,7 @@ mod tests {
         xsave::_xsaveopt64(b.ptr(), m);
         assert_eq!(a, b);
     }
+    */
 
     #[simd_test(enable = "xsave,xsavec")]
     #[cfg_attr(miri, ignore)] // Register saving/restoring is not supported in Miri
@@ -214,18 +216,18 @@ mod tests {
         xsave::_xsavec64(b.ptr(), m);
         assert_eq!(a, b);
     }
-
-    #[simd_test(enable = "xsave,xsaves")]
-    #[cfg_attr(miri, ignore)] // Register saving/restoring is not supported in Miri
-    unsafe fn xsaves64() {
-        let m = 0xFFFFFFFFFFFFFFFF_u64; //< all registers
-        let mut a = XsaveArea::new();
-        let mut b = XsaveArea::new();
-
-        xsave::_xsaves64(a.ptr(), m);
-        xsave::_xrstors64(a.ptr(), m);
-        xsave::_xsaves64(b.ptr(), m);
-        assert_eq!(a, b);
-    }
+    /*
+       #[simd_test(enable = "xsave,xsaves")]
+       #[cfg_attr(miri, ignore)] // Register saving/restoring is not supported in Miri
+       unsafe fn xsaves64() {
+           let m = 0xFFFFFFFFFFFFFFFF_u64; //< all registers
+           let mut a = XsaveArea::new();
+           let mut b = XsaveArea::new();
+
+           xsave::_xsaves64(a.ptr(), m);
+           xsave::_xrstors64(a.ptr(), m);
+           xsave::_xsaves64(b.ptr(), m);
+           assert_eq!(a, b);
+       }
+    */
 }
-*/