use super::*;
#[inline(always)]
pub fn convert_pd_epi64_limited<R: FloatRegister<Element = f64>>(x: Storage<R>) -> Storage<R::SignedBits> {
let m = R::splat(0x0018000000000000u64 as i64 as f64);
<R::SignedBits as NumericRegister>::sub(
<R::SignedBits as BitCastRegister<R>>::from_bits(R::add(x, m)),
<R::SignedBits as BitCastRegister<R>>::from_bits(m),
)
}
#[inline(always)]
pub fn convert_pd_epu64_limited<R: FloatRegister<Element = f64>>(x: Storage<R>) -> Storage<R::Bits> {
let m = R::splat(0x0010000000000000u64 as i64 as f64);
<R::Bits as BitCastRegister<R>>::from_bits(R::bitxor(R::add(x, m), m))
}
#[inline(always)]
pub fn convert_epi64_pd_limited<R: FloatRegister<Element = f64>>(mut x: Storage<R::SignedBits>) -> Storage<R> {
let m = R::splat(0x0018000000000000u64 as i64 as f64);
x = <R::SignedBits as NumericRegister>::add(x, <R::SignedBits as BitCastRegister<R>>::from_bits(m));
R::sub(<R as BitCastRegister<R::SignedBits>>::from_bits(x), m) }
#[inline(always)]
pub fn convert_epu64_pd_limited<R: FloatRegister<Element = f64>>(mut x: Storage<R::Bits>) -> Storage<R> {
let m = R::splat(0x0010000000000000u64 as i64 as f64);
x = <R::Bits as BitwiseRegister>::bitor(x, <R::Bits as BitCastRegister<R>>::from_bits(m));
R::sub(<R as BitCastRegister<R::Bits>>::from_bits(x), m) }