Chore: add x86_amx_intrinsics feature flag to core/lib.rs and remove issue-120720-reduce-nan.rs

This commit is contained in:
sayantn 2024-08-04 02:32:03 +05:30
parent bbf60c897e
commit 2cde11f2d1
2 changed files with 1 additions and 21 deletions

View File

@ -264,6 +264,7 @@
#![feature(sse4a_target_feature)] #![feature(sse4a_target_feature)]
#![feature(tbm_target_feature)] #![feature(tbm_target_feature)]
#![feature(wasm_target_feature)] #![feature(wasm_target_feature)]
#![feature(x86_amx_intrinsics)]
// tidy-alphabetical-end // tidy-alphabetical-end
// allow using `core::` in intra-doc links // allow using `core::` in intra-doc links

View File

@ -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()
}