//@ run-pass #![feature(repr_simd, core_intrinsics)] #[path = "../../../auxiliary/minisimd.rs"] mod minisimd; use minisimd::*; use std::intrinsics::simd::simd_cast; type V = Simd; fn main() { let u: V:: = Simd([0, 1, 2, 3]); let uu32: V = unsafe { simd_cast(u) }; let ui64: V = unsafe { simd_cast(u) }; for (u, (uu32, ui64)) in u .as_array() .iter() .zip(uu32.as_array().iter().zip(ui64.as_array().iter())) { assert_eq!(*u as u32, *uu32); assert_eq!(*u as i64, *ui64); } }