summaryrefslogtreecommitdiffstats
path: root/src/test/ui/simd/libm_no_std_cant_float.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/simd/libm_no_std_cant_float.rs')
-rw-r--r--src/test/ui/simd/libm_no_std_cant_float.rs22
1 files changed, 0 insertions, 22 deletions
diff --git a/src/test/ui/simd/libm_no_std_cant_float.rs b/src/test/ui/simd/libm_no_std_cant_float.rs
deleted file mode 100644
index 50ac8e208..000000000
--- a/src/test/ui/simd/libm_no_std_cant_float.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-#![crate_type = "rlib"]
-#![no_std]
-#![feature(portable_simd)]
-use core::simd::f32x4;
-use core::simd::SimdFloat;
-
-// For SIMD float ops, the LLIR version which is used to implement the portable
-// forms of them may become calls to math.h AKA libm. So, we can't guarantee
-// we can compile them for #![no_std] crates.
-// Someday we may solve this.
-// Until then, this test at least guarantees these functions require std.
-fn guarantee_no_std_nolibm_calls() -> f32x4 {
- let x = f32x4::from_array([0.1, 0.5, 0.6, -1.5]);
- let x2 = x + x;
- let _xc = x.ceil(); //~ ERROR E0599
- let _xf = x.floor(); //~ ERROR E0599
- let _xr = x.round(); //~ ERROR E0599
- let _xt = x.trunc(); //~ ERROR E0599
- let _xfma = x.mul_add(x, x); //~ ERROR E0599
- let _xsqrt = x.sqrt(); //~ ERROR E0599
- x2.abs() * x2
-}