#![allow(unused_imports)]
use crate::myarch::*;
use crate::simd::*;
#[inline]
#[cfg_attr(all(test, target_arch = "x86_64"), assert_instr(imul))]
#[cfg_attr(all(test, target_arch = "x86"), assert_instr(mulx))]
#[target_feature(enable = "bmi2")]
pub unsafe fn _mulx_u32(a: u32, b: u32, hi: &mut u32) -> u32 {
crate::mem::transmute(crate::myarch::_mulx_u32(crate::mem::transmute(a), crate::mem::transmute(b), crate::mem::transmute(hi)))
}
#[inline]
#[target_feature(enable = "bmi2")]
#[cfg_attr(test, assert_instr(bzhi))]
pub unsafe fn _bzhi_u32(a: u32, index: u32) -> u32 {
crate::mem::transmute(crate::myarch::_bzhi_u32(crate::mem::transmute(a), crate::mem::transmute(index)))
}
#[inline]
#[target_feature(enable = "bmi2")]
#[cfg_attr(test, assert_instr(pdep))]
pub unsafe fn _pdep_u32(a: u32, mask: u32) -> u32 {
crate::mem::transmute(crate::myarch::_pdep_u32(crate::mem::transmute(a), crate::mem::transmute(mask)))
}
#[inline]
#[target_feature(enable = "bmi2")]
#[cfg_attr(test, assert_instr(pext))]
pub unsafe fn _pext_u32(a: u32, mask: u32) -> u32 {
crate::mem::transmute(crate::myarch::_pext_u32(crate::mem::transmute(a), crate::mem::transmute(mask)))
}