#![allow(unused_imports)]
use crate::myarch::*;
use crate::simd::*;
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(addss))]
pub unsafe fn _mm_add_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_add_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(addps))]
pub unsafe fn _mm_add_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_add_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(subss))]
pub unsafe fn _mm_sub_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_sub_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(subps))]
pub unsafe fn _mm_sub_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_sub_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(mulss))]
pub unsafe fn _mm_mul_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_mul_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(mulps))]
pub unsafe fn _mm_mul_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_mul_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(divss))]
pub unsafe fn _mm_div_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_div_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(divps))]
pub unsafe fn _mm_div_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_div_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(sqrtss))]
pub unsafe fn _mm_sqrt_ss(a: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_sqrt_ss(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(sqrtps))]
pub unsafe fn _mm_sqrt_ps(a: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_sqrt_ps(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(rcpss))]
pub unsafe fn _mm_rcp_ss(a: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_rcp_ss(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(rcpps))]
pub unsafe fn _mm_rcp_ps(a: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_rcp_ps(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(rsqrtss))]
pub unsafe fn _mm_rsqrt_ss(a: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_rsqrt_ss(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(rsqrtps))]
pub unsafe fn _mm_rsqrt_ps(a: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_rsqrt_ps(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(minss))]
pub unsafe fn _mm_min_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_min_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(minps))]
pub unsafe fn _mm_min_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_min_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(maxss))]
pub unsafe fn _mm_max_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_max_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(maxps))]
pub unsafe fn _mm_max_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_max_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(all(test, any(target_arch = "x86_64", target_feature = "sse2")),
assert_instr(andps))]
pub unsafe fn _mm_and_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_and_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(all(test, any(target_arch = "x86_64", target_feature = "sse2")),
assert_instr(andnps))]
pub unsafe fn _mm_andnot_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_andnot_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(all(test, any(target_arch = "x86_64", target_feature = "sse2")),
assert_instr(orps))]
pub unsafe fn _mm_or_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_or_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(all(test, any(target_arch = "x86_64", target_feature = "sse2")),
assert_instr(xorps))]
pub unsafe fn _mm_xor_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_xor_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpeqss))]
pub unsafe fn _mm_cmpeq_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpeq_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpltss))]
pub unsafe fn _mm_cmplt_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmplt_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpless))]
pub unsafe fn _mm_cmple_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmple_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpltss))]
pub unsafe fn _mm_cmpgt_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpgt_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpless))]
pub unsafe fn _mm_cmpge_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpge_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpneqss))]
pub unsafe fn _mm_cmpneq_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpneq_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpnltss))]
pub unsafe fn _mm_cmpnlt_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpnlt_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpnless))]
pub unsafe fn _mm_cmpnle_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpnle_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpnltss))]
pub unsafe fn _mm_cmpngt_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpngt_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpnless))]
pub unsafe fn _mm_cmpnge_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpnge_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpordss))]
pub unsafe fn _mm_cmpord_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpord_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpunordss))]
pub unsafe fn _mm_cmpunord_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpunord_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpeqps))]
pub unsafe fn _mm_cmpeq_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpeq_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpltps))]
pub unsafe fn _mm_cmplt_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmplt_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpleps))]
pub unsafe fn _mm_cmple_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmple_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpltps))]
pub unsafe fn _mm_cmpgt_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpgt_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpleps))]
pub unsafe fn _mm_cmpge_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpge_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpneqps))]
pub unsafe fn _mm_cmpneq_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpneq_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpnltps))]
pub unsafe fn _mm_cmpnlt_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpnlt_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpnleps))]
pub unsafe fn _mm_cmpnle_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpnle_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpnltps))]
pub unsafe fn _mm_cmpngt_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpngt_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpnleps))]
pub unsafe fn _mm_cmpnge_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpnge_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpordps))]
pub unsafe fn _mm_cmpord_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpord_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cmpunordps))]
pub unsafe fn _mm_cmpunord_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cmpunord_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(comiss))]
pub unsafe fn _mm_comieq_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_comieq_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(comiss))]
pub unsafe fn _mm_comilt_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_comilt_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(comiss))]
pub unsafe fn _mm_comile_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_comile_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(comiss))]
pub unsafe fn _mm_comigt_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_comigt_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(comiss))]
pub unsafe fn _mm_comige_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_comige_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(comiss))]
pub unsafe fn _mm_comineq_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_comineq_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(ucomiss))]
pub unsafe fn _mm_ucomieq_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_ucomieq_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(ucomiss))]
pub unsafe fn _mm_ucomilt_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_ucomilt_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(ucomiss))]
pub unsafe fn _mm_ucomile_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_ucomile_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(ucomiss))]
pub unsafe fn _mm_ucomigt_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_ucomigt_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(ucomiss))]
pub unsafe fn _mm_ucomige_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_ucomige_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(ucomiss))]
pub unsafe fn _mm_ucomineq_ss(a: f32x4, b: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_ucomineq_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cvtss2si))]
pub unsafe fn _mm_cvtss_si32(a: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_cvtss_si32(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cvtss2si))]
pub unsafe fn _mm_cvt_ss2si(a: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_cvt_ss2si(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cvttss2si))]
pub unsafe fn _mm_cvttss_si32(a: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_cvttss_si32(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cvttss2si))]
pub unsafe fn _mm_cvtt_ss2si(a: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_cvtt_ss2si(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
pub unsafe fn _mm_cvtss_f32(a: f32x4) -> f32 {
crate::mem::transmute(crate::myarch::_mm_cvtss_f32(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cvtsi2ss))]
pub unsafe fn _mm_cvtsi32_ss(a: f32x4, b: i32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cvtsi32_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(cvtsi2ss))]
pub unsafe fn _mm_cvt_si2ss(a: f32x4, b: i32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cvt_si2ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movss))]
pub unsafe fn _mm_set_ss(a: f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_set_ss(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(shufps))]
pub unsafe fn _mm_set1_ps(a: f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_set1_ps(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(shufps))]
pub unsafe fn _mm_set_ps1(a: f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_set_ps1(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(unpcklps))]
pub unsafe fn _mm_set_ps(a: f32, b: f32, c: f32, d: f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_set_ps(crate::mem::transmute(a), crate::mem::transmute(b), crate::mem::transmute(c), crate::mem::transmute(d)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(all(test, target_arch = "x86_64"), assert_instr(unpcklps))]
#[cfg_attr(all(test, target_arch = "x86"), assert_instr(movaps))]
pub unsafe fn _mm_setr_ps(a: f32, b: f32, c: f32, d: f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_setr_ps(crate::mem::transmute(a), crate::mem::transmute(b), crate::mem::transmute(c), crate::mem::transmute(d)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(xorps))]
pub unsafe fn _mm_setzero_ps() -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_setzero_ps())
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(shufps, mask = 3))]
#[rustc_args_required_const(2)]
pub unsafe fn _mm_shuffle_ps(a: f32x4, b: f32x4, mask: u32) -> f32x4 {
macro_rules! call {
($imm8:expr) => {
crate::myarch::_mm_shuffle_ps(crate::mem::transmute(a), crate::mem::transmute(b), $imm8)
};
}
crate::mem::transmute(constify_imm8!(mask, call))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(unpckhps))]
pub unsafe fn _mm_unpackhi_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_unpackhi_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(unpcklps))]
pub unsafe fn _mm_unpacklo_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_unpacklo_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movhlps))]
pub unsafe fn _mm_movehl_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_movehl_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movlhps))]
pub unsafe fn _mm_movelh_ps(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_movelh_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movmskps))]
pub unsafe fn _mm_movemask_ps(a: f32x4) -> i32 {
crate::mem::transmute(crate::myarch::_mm_movemask_ps(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(all(test, target_arch = "x86_64"), assert_instr(movhpd))]
#[cfg_attr(all(test, target_arch = "x86", target_feature = "sse2"),
assert_instr(movlhps))]
#[cfg_attr(all(test, target_arch = "x86", not(target_feature = "sse2")),
assert_instr(unpcklps))]
pub unsafe fn _mm_loadh_pi(a: f32x4, p: *const __m64) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_loadh_pi(crate::mem::transmute(a), crate::mem::transmute(p)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(all(test, target_arch = "x86_64"), assert_instr(movlpd))]
#[cfg_attr(all(test, target_arch = "x86", target_feature = "sse2"),
assert_instr(movsd))]
#[cfg_attr(all(test, target_arch = "x86", not(target_feature = "sse2")),
assert_instr(movss))]
pub unsafe fn _mm_loadl_pi(a: f32x4, p: *const __m64) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_loadl_pi(crate::mem::transmute(a), crate::mem::transmute(p)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movss))]
pub unsafe fn _mm_load_ss(p: *const f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_load_ss(crate::mem::transmute(p)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movss))]
pub unsafe fn _mm_load1_ps(p: *const f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_load1_ps(crate::mem::transmute(p)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movss))]
pub unsafe fn _mm_load_ps1(p: *const f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_load_ps1(crate::mem::transmute(p)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movaps))]
pub unsafe fn _mm_load_ps(p: *const f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_load_ps(crate::mem::transmute(p)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movups))]
pub unsafe fn _mm_loadu_ps(p: *const f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_loadu_ps(crate::mem::transmute(p)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movaps))]
pub unsafe fn _mm_loadr_ps(p: *const f32) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_loadr_ps(crate::mem::transmute(p)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(movss))]
pub unsafe fn _mm_move_ss(a: f32x4, b: f32x4) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_move_ss(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse")]
#[cfg_attr(test, assert_instr(stmxcsr))]
pub unsafe fn _mm_getcsr() -> u32 {
crate::mem::transmute(crate::myarch::_mm_getcsr())
}
#[inline]
#[allow(non_snake_case)]
#[target_feature(enable = "sse")]
pub unsafe fn _MM_GET_EXCEPTION_MASK() -> u32 {
crate::mem::transmute(crate::myarch::_MM_GET_EXCEPTION_MASK())
}
#[inline]
#[allow(non_snake_case)]
#[target_feature(enable = "sse")]
pub unsafe fn _MM_GET_EXCEPTION_STATE() -> u32 {
crate::mem::transmute(crate::myarch::_MM_GET_EXCEPTION_STATE())
}
#[inline]
#[allow(non_snake_case)]
#[target_feature(enable = "sse")]
pub unsafe fn _MM_GET_FLUSH_ZERO_MODE() -> u32 {
crate::mem::transmute(crate::myarch::_MM_GET_FLUSH_ZERO_MODE())
}
#[inline]
#[allow(non_snake_case)]
#[target_feature(enable = "sse")]
pub unsafe fn _MM_GET_ROUNDING_MODE() -> u32 {
crate::mem::transmute(crate::myarch::_MM_GET_ROUNDING_MODE())
}
#[inline]
#[target_feature(enable = "sse")]
pub unsafe fn _mm_undefined_ps() -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_undefined_ps())
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pmaxsw))]
pub unsafe fn _mm_max_pi16(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_max_pi16(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pmaxsw))]
pub unsafe fn _m_pmaxsw(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_m_pmaxsw(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pmaxub))]
pub unsafe fn _mm_max_pu8(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_max_pu8(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pmaxub))]
pub unsafe fn _m_pmaxub(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_m_pmaxub(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pminsw))]
pub unsafe fn _mm_min_pi16(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_min_pi16(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pminsw))]
pub unsafe fn _m_pminsw(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_m_pminsw(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pminub))]
pub unsafe fn _mm_min_pu8(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_min_pu8(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pminub))]
pub unsafe fn _m_pminub(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_m_pminub(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pmulhuw))]
pub unsafe fn _mm_mulhi_pu16(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_mulhi_pu16(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pmulhuw))]
pub unsafe fn _m_pmulhuw(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_m_pmulhuw(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pavgb))]
pub unsafe fn _mm_avg_pu8(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_avg_pu8(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pavgb))]
pub unsafe fn _m_pavgb(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_m_pavgb(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pavgw))]
pub unsafe fn _mm_avg_pu16(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_avg_pu16(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pavgw))]
pub unsafe fn _m_pavgw(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_m_pavgw(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(psadbw))]
pub unsafe fn _mm_sad_pu8(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_sad_pu8(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(psadbw))]
pub unsafe fn _m_psadbw(a: __m64, b: __m64) -> __m64 {
crate::mem::transmute(crate::myarch::_m_psadbw(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtpi2ps))]
pub unsafe fn _mm_cvtpi32_ps(a: f32x4, b: __m64) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cvtpi32_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtpi2ps))]
pub unsafe fn _mm_cvt_pi2ps(a: f32x4, b: __m64) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cvt_pi2ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtpi2ps))]
pub unsafe fn _mm_cvtpi8_ps(a: __m64) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cvtpi8_ps(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtpi2ps))]
pub unsafe fn _mm_cvtpu8_ps(a: __m64) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cvtpu8_ps(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtpi2ps))]
pub unsafe fn _mm_cvtpi16_ps(a: __m64) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cvtpi16_ps(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtpi2ps))]
pub unsafe fn _mm_cvtpu16_ps(a: __m64) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cvtpu16_ps(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtpi2ps))]
pub unsafe fn _mm_cvtpi32x2_ps(a: __m64, b: __m64) -> f32x4 {
crate::mem::transmute(crate::myarch::_mm_cvtpi32x2_ps(crate::mem::transmute(a), crate::mem::transmute(b)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pextrw, imm2 = 0))]
#[rustc_args_required_const(1)]
pub unsafe fn _mm_extract_pi16(a: __m64, imm2: i32) -> i32 {
macro_rules! call {
($imm8:expr) => {
crate::myarch::_mm_extract_pi16(crate::mem::transmute(a), $imm8)
};
}
crate::mem::transmute(constify_imm8!(imm2, call))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pextrw, imm2 = 0))]
#[rustc_args_required_const(1)]
pub unsafe fn _m_pextrw(a: __m64, imm2: i32) -> i32 {
macro_rules! call {
($imm8:expr) => {
crate::myarch::_m_pextrw(crate::mem::transmute(a), $imm8)
};
}
crate::mem::transmute(constify_imm8!(imm2, call))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pinsrw, imm2 = 0))]
#[rustc_args_required_const(2)]
pub unsafe fn _mm_insert_pi16(a: __m64, d: i32, imm2: i32) -> __m64 {
macro_rules! call {
($imm8:expr) => {
crate::myarch::_mm_insert_pi16(crate::mem::transmute(a), crate::mem::transmute(d), $imm8)
};
}
crate::mem::transmute(constify_imm8!(imm2, call))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pinsrw, imm2 = 0))]
#[rustc_args_required_const(2)]
pub unsafe fn _m_pinsrw(a: __m64, d: i32, imm2: i32) -> __m64 {
macro_rules! call {
($imm8:expr) => {
crate::myarch::_m_pinsrw(crate::mem::transmute(a), crate::mem::transmute(d), $imm8)
};
}
crate::mem::transmute(constify_imm8!(imm2, call))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pmovmskb))]
pub unsafe fn _mm_movemask_pi8(a: __m64) -> i32 {
crate::mem::transmute(crate::myarch::_mm_movemask_pi8(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pmovmskb))]
pub unsafe fn _m_pmovmskb(a: __m64) -> i32 {
crate::mem::transmute(crate::myarch::_m_pmovmskb(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pshufw, imm8 = 0))]
#[rustc_args_required_const(1)]
pub unsafe fn _mm_shuffle_pi16(a: __m64, imm8: i32) -> __m64 {
macro_rules! call {
($imm8:expr) => {
crate::myarch::_mm_shuffle_pi16(crate::mem::transmute(a), $imm8)
};
}
crate::mem::transmute(constify_imm8!(imm8, call))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(pshufw, imm8 = 0))]
#[rustc_args_required_const(1)]
pub unsafe fn _m_pshufw(a: __m64, imm8: i32) -> __m64 {
macro_rules! call {
($imm8:expr) => {
crate::myarch::_m_pshufw(crate::mem::transmute(a), $imm8)
};
}
crate::mem::transmute(constify_imm8!(imm8, call))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvttps2pi))]
pub unsafe fn _mm_cvttps_pi32(a: f32x4) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_cvttps_pi32(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvttps2pi))]
pub unsafe fn _mm_cvtt_ps2pi(a: f32x4) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_cvtt_ps2pi(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtps2pi))]
pub unsafe fn _mm_cvtps_pi32(a: f32x4) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_cvtps_pi32(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtps2pi))]
pub unsafe fn _mm_cvt_ps2pi(a: f32x4) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_cvt_ps2pi(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtps2pi))]
pub unsafe fn _mm_cvtps_pi16(a: f32x4) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_cvtps_pi16(crate::mem::transmute(a)))
}
#[inline]
#[target_feature(enable = "sse,mmx")]
#[cfg_attr(test, assert_instr(cvtps2pi))]
pub unsafe fn _mm_cvtps_pi8(a: f32x4) -> __m64 {
crate::mem::transmute(crate::myarch::_mm_cvtps_pi8(crate::mem::transmute(a)))
}