]> git.lizzy.rs Git - rust.git/commitdiff
move simd-minmax-test to run-pass; require llvm 7
authorgnzlbg <gonzalobg88@gmail.com>
Fri, 4 May 2018 16:40:46 +0000 (18:40 +0200)
committergnzlbg <gonzalobg88@gmail.com>
Thu, 24 May 2018 14:04:38 +0000 (16:04 +0200)
src/test/codegen/simd-intrinsic-float-minmax.rs
src/test/run-fail/simd-intrinsic-float-minmax.rs [deleted file]
src/test/run-pass/simd-intrinsic-float-minmax.rs [new file with mode: 0644]

index 6663b841808f1e97886320aadd61b6c73ee9ec1b..d963c7e8ddf1b60511b6ed237971d4aec92e5a0a 100644 (file)
@@ -16,7 +16,7 @@
 #![crate_type = "lib"]
 
 #![feature(repr_simd, platform_intrinsics)]
-#[allow(non_camel_case_types)]
+#![allow(non_camel_case_types)]
 
 #[repr(simd)]
 #[derive(Copy, Clone, PartialEq, Debug)]
diff --git a/src/test/run-fail/simd-intrinsic-float-minmax.rs b/src/test/run-fail/simd-intrinsic-float-minmax.rs
deleted file mode 100644 (file)
index f4fb8e1..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-// ignore-emscripten
-// min-llvm-version 6.0
-// error-pattern: panicked
-
-// Test that the simd_f{min,max} intrinsics produce the correct results.
-
-#![feature(repr_simd, platform_intrinsics)]
-#[allow(non_camel_case_types)]
-
-#[repr(simd)]
-#[derive(Copy, Clone, PartialEq, Debug)]
-struct f32x4(pub f32, pub f32, pub f32, pub f32);
-
-extern "platform-intrinsic" {
-    fn simd_fmin<T>(x: T, y: T) -> T;
-    fn simd_fmax<T>(x: T, y: T) -> T;
-}
-
-fn main() {
-    let x = f32x4(1.0, 2.0, 3.0, 4.0);
-    let y = f32x4(2.0, 1.0, 4.0, 3.0);
-    let nan = ::std::f32::NAN;
-    let n = f32x4(nan, nan, nan, nan);
-
-    unsafe {
-        let min0 = simd_fmin(x, y);
-        let min1 = simd_fmin(y, x);
-        assert_eq!(min0, min1);
-        let e = f32x4(1.0, 1.0, 3.0, 3.0);
-        assert_eq!(min0, e);
-        let minn = simd_fmin(x, n);
-        assert_eq!(minn, x);
-        let minn = simd_fmin(y, n);
-        assert_eq!(minn, y);
-
-        // FIXME(49261)
-        let max0 = simd_fmax(x, y);
-        let max1 = simd_fmax(y, x);
-        assert_eq!(max0, max1);
-        let e = f32x4(2.0, 2.0, 4.0, 4.0);
-        assert_eq!(max0, e);
-        let maxn = simd_fmax(x, n);
-        assert_eq!(maxn, x);
-        let maxn = simd_fmax(y, n);
-        assert_eq!(maxn, y);
-    }
-}
diff --git a/src/test/run-pass/simd-intrinsic-float-minmax.rs b/src/test/run-pass/simd-intrinsic-float-minmax.rs
new file mode 100644 (file)
index 0000000..71c0139
--- /dev/null
@@ -0,0 +1,56 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// ignore-emscripten
+// min-llvm-version 7.0
+// error-pattern: panicked
+
+// Test that the simd_f{min,max} intrinsics produce the correct results.
+
+#![feature(repr_simd, platform_intrinsics)]
+#![allow(non_camel_case_types)]
+
+#[repr(simd)]
+#[derive(Copy, Clone, PartialEq, Debug)]
+struct f32x4(pub f32, pub f32, pub f32, pub f32);
+
+extern "platform-intrinsic" {
+    fn simd_fmin<T>(x: T, y: T) -> T;
+    fn simd_fmax<T>(x: T, y: T) -> T;
+}
+
+fn main() {
+    let x = f32x4(1.0, 2.0, 3.0, 4.0);
+    let y = f32x4(2.0, 1.0, 4.0, 3.0);
+    let nan = ::std::f32::NAN;
+    let n = f32x4(nan, nan, nan, nan);
+
+    unsafe {
+        let min0 = simd_fmin(x, y);
+        let min1 = simd_fmin(y, x);
+        assert_eq!(min0, min1);
+        let e = f32x4(1.0, 1.0, 3.0, 3.0);
+        assert_eq!(min0, e);
+        let minn = simd_fmin(x, n);
+        assert_eq!(minn, x);
+        let minn = simd_fmin(y, n);
+        assert_eq!(minn, y);
+
+        let max0 = simd_fmax(x, y);
+        let max1 = simd_fmax(y, x);
+        assert_eq!(max0, max1);
+        let e = f32x4(2.0, 2.0, 4.0, 4.0);
+        assert_eq!(max0, e);
+        let maxn = simd_fmax(x, n);
+        assert_eq!(maxn, x);
+        let maxn = simd_fmax(y, n);
+        assert_eq!(maxn, y);
+    }
+}