run-pass/simd-intrinsic-float-minmax: Force use of qNaN on Mips
Workaround for #52746.
This commit is contained in:
parent
4fbd4a55f7
commit
78a1c45d83
@ -29,7 +29,14 @@
|
|||||||
fn main() {
|
fn main() {
|
||||||
let x = f32x4(1.0, 2.0, 3.0, 4.0);
|
let x = f32x4(1.0, 2.0, 3.0, 4.0);
|
||||||
let y = f32x4(2.0, 1.0, 4.0, 3.0);
|
let y = f32x4(2.0, 1.0, 4.0, 3.0);
|
||||||
|
|
||||||
|
#[cfg(not(any(target_arch = "mips", target_arch = "mips64")))]
|
||||||
let nan = ::std::f32::NAN;
|
let nan = ::std::f32::NAN;
|
||||||
|
// MIPS hardware treats f32::NAN as SNAN. Clear the signaling bit.
|
||||||
|
// See https://github.com/rust-lang/rust/issues/52746.
|
||||||
|
#[cfg(any(target_arch = "mips", target_arch = "mips64"))]
|
||||||
|
let nan = f32::from_bits(::std::f32::NAN.to_bits() - 1);
|
||||||
|
|
||||||
let n = f32x4(nan, nan, nan, nan);
|
let n = f32x4(nan, nan, nan, nan);
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
|
Loading…
Reference in New Issue
Block a user