about summary refs log tree commit diff
diff options
context:
space:
mode:
authorsayantn <sayantan.chakraborty@students.iiserpune.ac.in>2024-08-04 02:32:03 +0530
committersayantn <sayantan.chakraborty@students.iiserpune.ac.in>2024-08-04 03:08:18 +0530
commit2cde11f2d145d031b26fe22a3e7d2e278bc0e6ba (patch)
tree9dc08d18e96bfdd958a219688ff7a1fad7fb1ea2
parentbbf60c897e18a72923129c63ff33ce2de2968815 (diff)
downloadrust-2cde11f2d145d031b26fe22a3e7d2e278bc0e6ba.tar.gz
rust-2cde11f2d145d031b26fe22a3e7d2e278bc0e6ba.zip
Chore: add `x86_amx_intrinsics` feature flag to `core/lib.rs` and remove `issue-120720-reduce-nan.rs`
-rw-r--r--library/core/src/lib.rs1
-rw-r--r--tests/codegen/simd/issue-120720-reduce-nan.rs21
2 files changed, 1 insertions, 21 deletions
diff --git a/library/core/src/lib.rs b/library/core/src/lib.rs
index 9306581dca9..e74900ff747 100644
--- a/library/core/src/lib.rs
+++ b/library/core/src/lib.rs
@@ -264,6 +264,7 @@
 #![feature(sse4a_target_feature)]
 #![feature(tbm_target_feature)]
 #![feature(wasm_target_feature)]
+#![feature(x86_amx_intrinsics)]
 // tidy-alphabetical-end
 
 // allow using `core::` in intra-doc links
diff --git a/tests/codegen/simd/issue-120720-reduce-nan.rs b/tests/codegen/simd/issue-120720-reduce-nan.rs
deleted file mode 100644
index 13af0bb076e..00000000000
--- a/tests/codegen/simd/issue-120720-reduce-nan.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-//@ compile-flags: -C opt-level=3 -C target-cpu=cannonlake
-//@ only-x86_64
-
-// In a previous implementation, _mm512_reduce_add_pd did the reduction with all fast-math flags
-// enabled, making it UB to reduce a vector containing a NaN.
-
-#![crate_type = "lib"]
-#![feature(stdarch_x86_avx512, avx512_target_feature)]
-use std::arch::x86_64::*;
-
-// CHECK-LABEL: @demo(
-#[no_mangle]
-#[target_feature(enable = "avx512f")] // Function-level target feature mismatches inhibit inlining
-pub unsafe fn demo() -> bool {
-    // CHECK: %0 = tail call reassoc double @llvm.vector.reduce.fadd.v8f64(
-    // CHECK: %_0.i = fcmp uno double %0, 0.000000e+00
-    // CHECK: ret i1 %_0.i
-    let res =
-        unsafe { _mm512_reduce_add_pd(_mm512_set_pd(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, f64::NAN)) };
-    res.is_nan()
-}