use crate::intrin::round::Round;
use crate::arch::current::vecs::*;
use crate::vecs::*;
rust_fallback_impl! {
impl Round for f32x4 where "__undefined" {
round => __undefined(_MM_FROUND_TO_NEAREST_INT), [0, 1, 2, 3];
ceil => __undefined(), [0, 1, 2, 3];
floor => __undefined(), [0, 1, 2, 3];
trunc => __undefined(_MM_FROUND_TRUNC), [0, 1, 2, 3];
}
}
rust_fallback_impl! {
impl Round for f64x2 where "__undefined" {
round => __undefined(_MM_FROUND_TO_NEAREST_INT), [0, 1];
ceil => __undefined(), [0, 1];
floor => __undefined(), [0, 1];
trunc => __undefined(_MM_FROUND_TRUNC), [0, 1];
}
}
rust_fallback_impl! {
impl Round for f32x8 where "__undefined" {
round => __undefined(_MM_FROUND_TO_NEAREST_INT), [0, 1, 2, 3, 4, 5, 6, 7];
ceil => __undefined(), [0, 1, 2, 3, 4, 5, 6, 7];
floor => __undefined(), [0, 1, 2, 3, 4, 5, 6, 7];
trunc => __undefined(_MM_FROUND_TRUNC), [0, 1, 2, 3, 4, 5, 6, 7];
}
}
rust_fallback_impl! {
impl Round for f64x4 where "__undefined" {
round => __undefined(_MM_FROUND_TO_NEAREST_INT), [0, 1, 2, 3];
ceil => __undefined(), [0, 1, 2, 3];
floor => __undefined(), [0, 1, 2, 3];
trunc => __undefined(_MM_FROUND_TRUNC), [0, 1, 2, 3];
}
}