diff options
| author | dragan.mladjenovic <dragan.mladjenovic@rt-rk.com> | 2018-07-31 08:41:56 +0200 |
|---|---|---|
| committer | dragan.mladjenovic <dragan.mladjenovic@rt-rk.com> | 2018-07-31 09:00:39 +0200 |
| commit | 78a1c45d83bf93025ceed25e933f6e51f8efdc37 (patch) | |
| tree | 3e757826cc3b47e5187456348d81405e410d2eca /src | |
| parent | 4fbd4a55f739f317fd6b527df49b4c3693aa5d00 (diff) | |
| download | rust-78a1c45d83bf93025ceed25e933f6e51f8efdc37.tar.gz rust-78a1c45d83bf93025ceed25e933f6e51f8efdc37.zip | |
run-pass/simd-intrinsic-float-minmax: Force use of qNaN on Mips
Workaround for #52746.
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/run-pass/simd-intrinsic-float-minmax.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/test/run-pass/simd-intrinsic-float-minmax.rs b/src/test/run-pass/simd-intrinsic-float-minmax.rs index 71c0139bb03..d35123e2235 100644 --- a/src/test/run-pass/simd-intrinsic-float-minmax.rs +++ b/src/test/run-pass/simd-intrinsic-float-minmax.rs @@ -29,7 +29,14 @@ extern "platform-intrinsic" { fn main() { let x = f32x4(1.0, 2.0, 3.0, 4.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; + // 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); unsafe { |
