Exemplo n.º 1
0
constexpr T _pdep(T src, T mask)
{
    static_assert(binary_digits<T>::value, "");
    constexpr T digits = binary_digits<T>::value;
    T dest = 0;
    if (digits <= std::numeric_limits<unsigned int>::digits) {
        dest = _pdep_u32(src, mask); 
    } else if (digits <= std::numeric_limits<unsigned long long int>::digits) {
        dest = _pdep_u64(src, mask);
    } else {
        dest = _pdep(src, mask, std::ignore);
    }
    return dest;
}
Exemplo n.º 2
0
unsigned int test_pdep_u32(unsigned int __X, unsigned int __Y) {
  // CHECK: @llvm.x86.bmi.pdep.32
  return _pdep_u32(__X, __Y);
}